Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过两个数据帧与熊猫的乘积构建面板_Python_Pandas_Multiplication - Fatal编程技术网

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