【发布时间】:2014-06-22 08:02:38
【问题描述】:
我想在 df 中添加一列。这个新 df 的值将取决于其他列的值。例如
dc = {'A':[0,9,4,5],'B':[6,0,10,12],'C':[1,3,15,18]}
df = pd.DataFrame(dc)
A B C
0 0 6 1
1 9 0 3
2 4 10 15
3 5 12 18
现在我想添加另一列 D,其值将取决于 A、B、C 的值。 因此,例如,如果正在迭代 df 我会这样做:
for row in df.iterrows():
if(row['A'] != 0 and row[B] !=0):
row['D'] = (float(row['A'])/float(row['B']))*row['C']
elif(row['C'] ==0 and row['A'] != 0 and row[B] ==0):
row['D'] == 250.0
else:
row['D'] == 20.0
有没有办法在没有 for 循环或使用 where () 或 apply () 函数的情况下做到这一点。
谢谢
【问题讨论】:
标签: python numpy pandas dataframe