計算我有數據幀是這樣的:的Python /大熊貓:基於單元格的值
A B C D E
0 2 3 4 8 7
1 4 7 5 9 4
2 3 4 5 7 2
3 8 9 1 3 7
我需要做這樣的事情:
if 'value in column A' == 2:
'value for this row in new column' = 'value from column B' + 'value from column C'
elif 'value in column A' == 4:
'value for this row in new column' = 'value from column B' + 'value from column D'
elif 'value in column A' == 8:
'value for this row in new column' = 'value from column B' + 'value from column E'
else:
'value for this row in new column' = 0
我試圖做這幾種方法,例如:
1.
df['sum'][df['A'] == 2] = df['B'] + df['C']
df['sum'][df['A'] == 4] = df['B'] + df['D']
df['sum'][df['A'] == 8] = df['B'] + df['E']
2.
df.loc[df['A'] == 2, 'sum'] = df['B'] + df['C']
df.loc[df['A'] == 4, 'sum'] = df['B'] + df['D']
df.loc[df['A'] == 8, 'sum'] = df['B'] + df['E']
但我在結果中有空單元格。
您的解決方案不處理其他cas即您可能需要將呼叫傳遞給[fillna](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html),例如'df.fillna(0,axis = 1)'在處理了前三種情況後。 – Quickbeam2k1