前提・実現したいこと
Pythonのpandas.DataFrameでindex、columnsが異なる行列の積をとるときにindexは左辺columnsは右辺のものを使いたい
発生している問題・エラーメッセージ
(4, 1) * (1, 1).valuesとすると右辺のindex、columnsは消えてしまう
該当のソースコード
Python
1import numpy as np 2import pandas as pd 3import datetime 4 5lfs = pd.DataFrame(data={0.521558, 0.042841, 0.086858, 0.348744}, index={'AAA', 'BBB', 'CCC', 'DDD'}) 6rhs = pd.DataFrame(data={1054}, index={datetime.date(2010, 12, 31)}) 7lfs * rhs.values 8 9結果---------------------------------------------------------------------- 10 0 11AAA 549.722132 12BBB 91.548332 13CCC 367.576176 14DDD 45.154414
試したこと
merge = lfs * rhs.values
merge.columns = rhs.index
結果------------------------------------------------
2010-12-31
AAA 549.722132
BBB 91.548332
CCC 367.576176
DDD 45.154414
とすれば目的は達成できるのですが、もう少しスマートな方法はないでしょうか?
補足情報(FW/ツールのバージョンなど)
Win10
VScode
Python3.9.1
pandas1.1.5
回答1件
あなたの回答
tips
プレビュー