鑑於這種數據幀如何根據其他列條目計算具有不同功能的新熊貓數據框列?
df=pd.DataFrame({"A":[0.380,0.475,0.380,0.475,0.570],"B":[20,20,63,63,63]})
A B
0 0.380 20
1 0.475 20
2 0.380 63
3 0.475 63
4 0.570 63
我想補充一點,返回給定列A的輸入函數的結果列,但功能要因人而異基於B列簡易的含量足以增加使用該方法適用於基於A柱:
def conv(x):
return (33.8*np.sin(1.65*(x-0.89))+33.9)/0.19
df['C']=df['A'].apply(conv)
df
但我想基於列B.設置任何「如果」的定義中的語句返回ValueErrors進入一個完全不同的功能,以適用於當然,並且使用df['C'].isin([20])
給了我一個布爾值列表。接下來,我將嘗試df.groupby('B')
併爲每個組應用不同的功能,但我仍然在想什麼是最優雅的解決方案。
告訴我們您希望如何改變,哪些是你認爲結果應該是。 – piRSquared