df = pd.DataFrame({'x':['a','a','b','b'], 'y':[1,2,3,4]})
如何创建列z
等于y*2
但仅对列a
中的x
元素有效的列?
这是我要实现的目标:
x y z
0 a 1 2
1 a 2 4
2 b 3 na
3 b 4 na
答案 0 :(得分:0)
#using list comprehension with if else statements
df['z']=[y*2 if x=='a' else 'na' for x,y in zip(df['x'],df['y']) ]