假设我有以下 df:
import pandas as pd
data_dic = {
"a": [0,0,1,2],
"b": [0,3,4,5],
"c": [6,7,8,9]
}
df = pd.DataFrame(data_dic)
结果:
a b c
0 0 0 6
1 0 3 7
2 1 4 8
3 2 5 9
我需要根据条件将上列的值传递给新列:
if df.a > 0 then value df.a
else if df.b > 0 then value df.b
else value df.c
现在我尝试:
df['value'] = [x if x > 0 else 'ww' for x in df['a']]
但不知道如何在此输入更多条件。
预期结果:
a b c value
0 0 0 6 6
1 0 3 7 3
2 1 4 8 1
3 2 5 9 2
谢谢你的辛勤工作。
原文由 Zaraki Kenpachi 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
numpy.select
:400k 行中矢量化和循环解决方案之间的区别: