【发布时间】:2021-02-02 00:53:16
【问题描述】:
我有两个具有相同形状、索引和列的熊猫数据框A,B。 A 的每个元素都是一个np.ndarray,形状为(n,1),B 的每个元素都是一个浮点值。现在我想有效地将B elementwise 附加到A。一个最小的例子:
index = ['fst', 'scd']
column = ['a','b']
A
Out[23]:
a b
fst [1, 2] [1, 4]
scd [3, 4] [3, 2]
B
Out[24]:
a b
fst 0.392414 0.641136
scd 0.264117 1.644251
resulting_df = pd.DataFrame([[np.append(A.loc[i,j], B.loc[i,j]) for i in index] for j in column], columns=column, index=index)
resulting_df
Out[27]:
a b
fst [1.0, 2.0, 0.392414377685] [3.0, 4.0, 0.264117463613]
scd [1.0, 4.0, 0.641136433253] [3.0, 2.0, 1.64425062851]
是否有类似于pd.DataFrame.applymap 的东西可以在两个而不是一个熊猫数据帧之间按元素操作?
【问题讨论】:
-
输入和预期输出(如果可能)
-
@Bharathshetty 添加。谢谢。
-
很好奇,这样存储数据有什么用? DataFrames 最适合 mxn 标量,否则您也有 Panel 选项
-
@Zero 用于财务分析目的:索引是日期,列是股票池,我需要将
A和B中的数据作为解释变量进行横截面回归。 -
我认为你的输出是错误的。
a的scd应该是[3.0, 4.0, 0.264117463613]na