在pyspark中做以下条件填充在Pandas中我会怎么做
colIsAcceptable = when(col("var") < 0.9, 1).otherwise(0)
30byixjq1#
您可以使用:
df['new_col'] = df['col'].lt(0.9).astype(int)
或使用numpy.where:
numpy.where
import numpy as np df['new_col'] = np.where(df['col'].lt(0.9), 1, 0)
kdfy810k2#
您可以使用numpy.where。
import numpy as np df['colIsAcceptable'] = np.where(df['col'] < 0.9, 1, 0)
csbfibhn3#
colIsAcceptable = df['var'].apply(lambda x: 1 if x < 0.9 else 0)
在非常大的数据集上,apply可能会很慢,我不知道还有更有效的方法,但是对于一般用途来说是很好的
6ie5vjzr4#
我假设 Dataframe 上的第一列名为“var”,第二列名为“colIsAcceptable”,然后您可以使用.map()函数
.map()
df['colIsAcceptable']= df['var'].map(lambda x: 1 if x<0.9 else 0)
x9ybnkn65#
df['col2'] = 0 df.loc[df['col1'] < 0.9, 'col2'] = 1
这是一个简单的例子,可以做你所要求的事情。
5条答案
按热度按时间30byixjq1#
您可以使用:
或使用
numpy.where
:kdfy810k2#
您可以使用
numpy.where
。csbfibhn3#
在非常大的数据集上,apply可能会很慢,我不知道还有更有效的方法,但是对于一般用途来说是很好的
6ie5vjzr4#
我假设 Dataframe 上的第一列名为“var”,第二列名为“colIsAcceptable”,然后您可以使用
.map()
函数x9ybnkn65#
这是一个简单的例子,可以做你所要求的事情。