Pandas有条件地用0和1填充值

zfycwa2u  于 2023-02-28  发布在  其他
关注(0)|答案(5)|浏览(137)

在pyspark中做以下条件填充在Pandas中我会怎么做

colIsAcceptable = when(col("var") < 0.9, 1).otherwise(0)
30byixjq

30byixjq1#

您可以使用:

df['new_col'] = df['col'].lt(0.9).astype(int)

或使用numpy.where

import numpy as np
df['new_col'] = np.where(df['col'].lt(0.9), 1, 0)
kdfy810k

kdfy810k2#

您可以使用numpy.where

import numpy as np
df['colIsAcceptable'] = np.where(df['col'] < 0.9, 1, 0)
csbfibhn

csbfibhn3#

colIsAcceptable = df['var'].apply(lambda x: 1 if x < 0.9 else 0)

在非常大的数据集上,apply可能会很慢,我不知道还有更有效的方法,但是对于一般用途来说是很好的

6ie5vjzr

6ie5vjzr4#

我假设 Dataframe 上的第一列名为“var”,第二列名为“colIsAcceptable”,然后您可以使用.map()函数

df['colIsAcceptable']= df['var'].map(lambda x: 1 if x<0.9 else 0)
x9ybnkn6

x9ybnkn65#

df['col2'] = 0
df.loc[df['col1'] < 0.9, 'col2'] = 1

这是一个简单的例子,可以做你所要求的事情。

相关问题