我有兩個不同的Python DataFrames(即,大小爲2×2),如下所示:級聯Python數據
Mangoes Apples
Mangoes Apples
和,
1 0
0 1
我打算以產生第三數據幀,所以輸出可能是:
Mangoes 0
0 Apples
顯然,我不能乘以這兩個數據幀(我希望我能做到)。那麼,這樣做的最好方法是什麼?這是可以通過串聯完成的嗎?或者我應該開始爲每個DataFrame逐項迭代並將值存儲到第三個DataFrame中。
謝謝你的指導。我嘗試過使用這種方式,並且得到一個錯誤,「TypeError:不能通過'str'類型的非整數來乘序列。 – John
@John可能的原因是'df2'的數據類型不是'integer'或'float',而是'string'。所以,錯誤是關於試圖乘以兩個'string'。在上面的例子中,你可以驗證'df2'的數據類型嗎?您可以嘗試通過'df2 = df2.apply(pd.to_numeric)'將整個'df2'轉換爲數字,然後查看'df_new =(df1 * df2).replace('',0)'是否有效。爲了進行簡單的測試,您可以嘗試運行芒果* 1,並與芒果* 1'進行比較。如你所說,後者可能會給出同樣的錯誤。 – 0p3n5ourcE
是的,這是數據類型爲d2的問題......已解決。順便說一下,你可以在這一行詳細說明一下... df_new =(df1 * df2).replace('',0)...究竟是什麼('',0)在做什麼 – John