假设我在数据框中有四列 A、B、C、D df
:
import pandas as pd
df = pd.read_csv('results.csv')
df
A B C D
good good good good
good bad good good
good bad bad good
bad good good good
我想添加另一列
result
.其中的变量应基于相应行的变量。在这里,就我而言,如果相应行中至少有三种商品,即 A、B、C、D 列,则结果中的变量应为 valid
否则 notvalid
.预期输出:
A B C D results
good good good good valid
good bad good good valid
good bad bad good notvalid
bad good good good valid
最佳答案
您可以使用:
# columns of interest:
cols = ['A','B','C','D']
df['results'] = np.where(df[cols].eq('good').sum(1).ge(3),
'valid', 'invalid')
输出:
A B C D results
0 good good good good valid
1 good bad good good valid
2 good bad bad good invalid
3 bad good good good valid
关于python - 一种使用 Pandas 根据相应行将决策写入列的快速方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61967683/