Python 通过两个数据帧与熊猫的乘积构建面板
我的目的是在返回一个面板的两个数据帧之间进行一种元素相乘 我有两个数据帧:Python 通过两个数据帧与熊猫的乘积构建面板,python,pandas,multiplication,Python,Pandas,Multiplication,我的目的是在返回一个面板的两个数据帧之间进行一种元素相乘 我有两个数据帧: a = pd.DataFrame(1, index=['a','b','c'], columns=[0,1,2,3,4]) Out[50]: 0 1 2 3 4 a NaN NaN NaN NaN NaN b NaN NaN NaN NaN NaN c NaN NaN NaN NaN NaN b = pd.DataFrame(index=[0,1,2,3
a = pd.DataFrame(1, index=['a','b','c'], columns=[0,1,2,3,4])
Out[50]:
0 1 2 3 4
a NaN NaN NaN NaN NaN
b NaN NaN NaN NaN NaN
c NaN NaN NaN NaN NaN
b = pd.DataFrame(index=[0,1,2,3,4], columns=['X', 'Y', 'Z'])
Out[53]:
X Y Z
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
我想得到一个面板p
,例如:
p.items = [0,1,2,3,4]
p.major_axis = ['a','b','c']
p.minor_axis = ['X', 'Y', 'Z']
其中:
p.loc[3, 'b', 'Z'] = a.loc['b', 3] * b.loc[3, 'Z']
当然,这两个数据帧都用实际值填充。
我需要一些能避免使用循环的东西。你知道怎么做吗
感谢您的帮助最后,如果您没有太多的项目,简单的循环非常有效:
p = pd.Panel(items=a.columns, major_axis=a.index, minor_axis=b.columns)
for x in a.index:
p.loc[:, :, c] = a.loc[x, :] * b
最后,如果您没有太多的项目,那么简单的循环非常有效:
p = pd.Panel(items=a.columns, major_axis=a.index, minor_axis=b.columns)
for x in a.index:
p.loc[:, :, c] = a.loc[x, :] * b