我需要对两个不同的数据帧进行划分。
它们具有相同的列名和编号,但长度不同。
除法包括划分此数据框的每个值:
DF1
2017-06-01 2017-06-02 2017-06-05 2017-06-06 2017-06-07
INDEX
0 82449.0 -177507.0 -421443.0 70893.0 -122562.0
1 95634.0 13662.0 25806.0 253506.0 211002.0
2 -40956.3 -24179.4 -214666.0 68121.9 66225.6
3 22950.0 -4590.0 -30600.0 -1530.0 -61200.0
4 -18608.0 211408.0 284360.0 -88744.0 -64328.0
5 73830.2 38480.7 21186.9 -68776.2 8437.9
6 -69682.0 -4080.0 -263273.0 124479.0 -1728.0
7 11869.0 137352.0 249828.0 -114608.0 -32129.5
8 36384.6 4565.4 256868.0 -129041.0 89649.0
每个:
DF2
2017-06-01 2017-06-02 2017-06-05 2017-06-06 2017-06-07
INDEX
0 51970500.0 52246700.0 52021600.0 51928400.0 52090500.0
示例:df1 [0] [0] = df1 [0] [0] / df2 [0] [0]
答案 0 :(得分:1)
除法的默认轴(列)为您提供所需的内容:
df1.div(df2.loc[0])
Out:
2017-06-01 2017-06-02 2017-06-05 2017-06-06 2017-06-07
INDEX
A 0.001586 -0.003397 -0.008101 0.001365 -0.002353
B 0.001840 0.000261 0.000496 0.004882 0.004051
C -0.000788 -0.000463 -0.004126 0.001312 0.001271
D 0.000442 -0.000088 -0.000588 -0.000029 -0.001175
E -0.000358 0.004046 0.005466 -0.001709 -0.001235
F 0.001421 0.000737 0.000407 -0.001324 0.000162
G -0.001341 -0.000078 -0.005061 0.002397 -0.000033
H 0.000228 0.002629 0.004802 -0.002207 -0.000617
I 0.000700 0.000087 0.004938 -0.002485 0.001721
与
相同df1 / df2.loc[0]
请注意,我使用df2.loc[0]
将其提取为允许广播的系列。如果它们都是DataFrame,则索引和列都将对齐。如果其中一个是Series,则列或索引将对齐。