2024-04-23 11:10:01 发布
网友
如果我有许多panda数据帧,具有相同的索引结构,我想创建一个具有相同索引结构的数据帧,但是数据值是np.数组(其实我想np矩阵。)
对于简单的操作,合并似乎做得很好df1+df2添加了元素,但是np.数组(df1,df2)根本做不到我想要的。在
熊猫有没有一种方法可以做到这一点而不需要逐个元素地重建整个对象?在
例如,如果我有
df1 = col1 col2 1 1 2 2 3 4 df2 = col1 col2 1 5 6 2 7 8
想要
我将使用面板结构来实现这一点:
In [11]: p = pd.Panel({'df1': df1, 'df2': df2}) In [12]: p['df1'] Out[12]: col1 col2 1 1 2 2 3 4
你可以在长轴上做一个应用程序:
注意:对于每个(df,col)对,您将应用于numpy数组:
In [21]: def f(x): print(repr(x)) return 1 In [22]: p.apply(f, 'major') array([1, 3]) array([2, 4]) array([5, 7]) array([6, 8]) Out[22]: df1 df2 col1 1 1 col2 1 1
您可以选择另一个numpy/linalg函数(或创建自己的函数)。
更新:实际上这不是你想要的,你必须使用项目轴:
In [31]: p.apply(f, 'items') array([1, 5]) array([2, 6]) array([3, 7]) array([4, 8]) Out[31]: col1 col2 1 1 1 2 1 1
我将使用面板结构来实现这一点:
你可以在长轴上做一个应用程序:
^{pr2}$注意:对于每个(df,col)对,您将应用于numpy数组:
您可以选择另一个numpy/linalg函数(或创建自己的函数)。
更新:实际上这不是你想要的,你必须使用项目轴:
相关问题 更多 >
编程相关推荐