我有一個包含10列的數據框。我想添加一個新的'age_bmi'列,它應該是計算列乘以'age'*'bmi'。年齡是一個INT,bmi是FLOAT。在熊貓中添加計算列
然後創建具有11列的新數據幀。
我正在做的事情並不完全正確。我認爲這是一個語法問題。有任何想法嗎?
感謝
df2['age_bmi'] = df(['age'] * ['bmi'])
print(df2)
我有一個包含10列的數據框。我想添加一個新的'age_bmi'列,它應該是計算列乘以'age'*'bmi'。年齡是一個INT,bmi是FLOAT。在熊貓中添加計算列
然後創建具有11列的新數據幀。
我正在做的事情並不完全正確。我認爲這是一個語法問題。有任何想法嗎?
感謝
df2['age_bmi'] = df(['age'] * ['bmi'])
print(df2)
嘗試df2['age_bmi'] = df.age * df.bmi
。
當您需要獲取列的值時,您正在試圖調用數據框,您可以通過鍵來訪問列的值,如字典或屬性,如果它是小寫名稱,並且沒有空格, t匹配內置的DataFrame方法。
有人在前些日子的評論中將其鏈接起來,這非常棒。我建議給它一塊手錶,即使你不做這些練習:https://www.youtube.com/watch?v=5JnMutdy6Fw
正如Cory指出的那樣,你調用一個數據框作爲一個函數,它不會像你期望的那樣工作。這裏有4種方式來表示多個兩列,在大多數情況下,您會使用第一種方法。
In [299]: df['age_bmi'] = df.age * df.bmi
,或者
In [300]: df['age_bmi'] = df.eval('age*bmi')
,或者
In [301]: df['age_bmi'] = pd.eval('df.age*df.bmi')
,或者
In [302]: df['age_bmi'] = df.age.mul(df.bmi)
完美的感謝科裏,我會檢查出視頻以及 – JD2775
我檢查了到目前爲止,該視頻的第一個小時,它是非常奇妙的我知道了 。謝謝你的鏈接!這個人對他的教學有很大的幫助 – JD2775
太棒了,很高興你在享受它。我仍然在看自己,但在第一個小時,我就像是「哦,噓!」!像敬畏了三次,你可以用它做很酷的事情。 –