【发布时间】:2020-03-03 12:49:19
【问题描述】:
我正在尝试使用 if 语句在 pandas 中创建一个新列。我有这个df:
df = {'Col1': [7,6,-9],
'Col2': [0.5,0.5,0.5],
'Col3': [5,4,3]}
如果Col1 大于0,那么我想将Col2 乘以Col3 以创建新列Col4。如果Col1 不大于0,那么我只想返回0 作为列值。
这是我尝试过的:
df['Col4'] = if df['Col1'] > 0:
df['Col2'] * df['Col3']
else:
0
我收到错误:“SyntaxError:无效语法”
最终的答案应该是这样的:
df = {'Col1': [7,6,-9],
'Col2': [0.5,0.5,0.5],
'Col3': [5,4,3],
'Col4': [2.5,2,0]}
注意因为Col1中的“-9”不大于0,所以Col4应该给0。
【问题讨论】:
标签: python-3.x pandas