我有一個數據框,其中包括有關受訪者行爲的二元變量以及與每位受訪者相關的權重。我想將分數乘以每個受訪者的體重,這樣我就可以很容易地得到總體行爲的加權平均值。將列乘以數據框......但值是字符串?
最簡單的方法是將權重列乘以循環中的另一列,如df.columns[761]*df.columns[i]
。然而,當我嘗試這樣做時,它會拋出以下錯誤:
'無法將序列乘以'str'類型的非整數。
我不應該有任何條件,但在離機會也有,我試圖df
轉換爲數值,像這樣df.apply(pd.to_numeric, errors='coerce')
。
但問題仍然存在。我在我的智慧結束。有沒有解決方法?我應該逐行進行(如果是,我是否需要遍歷每一列,還是有一個很好的乾淨的方式?)。
你知道這個方法失敗的行/值嗎?如果是這樣,你可以發佈他們是什麼? – Robbie
不給[mcve]的許多缺點之一是很難知道你是否真的按照你所說的做過。例如,聽起來你想要乘以兩列,但是'df.columns [761] * df.columns [i]'不會這樣做 - 它會嘗試乘以兩列*名稱*。請編輯以包含工作(即_failing_)示例。 – DSM
謝謝 - 這確實是我的問題。正式注意:) – kodachrome