2つのデータフレームがあります。
df1は次のようになります。
col0 col1 col2
0 0.3 0.14 0.34
df2は次のようになります。
col0 col1 col2
0 5 10 15
1 36 30 39
2 42 21 44
3 49 37 34
4 19 14 50
5 28 27 48
6 19 28 45
7 4 7 8
8 31 4 33
9 3 23 43
列軸を使用して、df2をdf1に乗算したいと思います。つまり、df2のcol1からdf1のcol1へ。df2のcol2からdf1のcol2へ。df2のcol3からdf1のcol3へ。
私が求める結果:
col0 col1 col2
0 1.5 1.4 5.1
1 10.8 4.2 13.26
2 12.6 2.94 14.96
3 14.7 5.18 11.56
4 5.7 1.96 17
5 8.4 3.78 16.32
6 5.7 3.92 15.3
7 1.2 0.98 2.72
8 9.3 0.56 11.22
9 0.9 3.22 14.62
これが私の失敗した試みです:
columns = df1.columns
product = df2.multiply(df1[columns], axis=columns)
「長さの不一致エラー」エラーがスローされます。
それを機能させるために何ができるでしょうか?フォーラムを検索しましたが、正確な要件に一致する回答が見つかりませんでした。
ndarraysに変換し、乗算します-正しくブロードキャストする必要があります。
vals1 = df1.to_numpy()
vals2 = df2.to_numpy()
result = vals1 * vals2
または
df2 * df1.to_numpy()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加