Python 如何使用2个数据帧的交集作为索引,然后将其除以另一个
这里我有两个数据帧。我试图计算这两个数据帧的相交行的划分。即首先查找属于两个数据帧的所有代码,然后将df1中的每个元素除以df2中相应的元素。请注意,df1和df2的代码不一定具有相同的长度或顺序。(代码是索引,但不是数据帧中的一列) df1: df2: 我试图先合并这两个数据帧,但不知道下一步该怎么做。或者有没有更有效的方法?我的理想结果是:Python 如何使用2个数据帧的交集作为索引,然后将其除以另一个,python,pandas,dataframe,Python,Pandas,Dataframe,这里我有两个数据帧。我试图计算这两个数据帧的相交行的划分。即首先查找属于两个数据帧的所有代码,然后将df1中的每个元素除以df2中相应的元素。请注意,df1和df2的代码不一定具有相同的长度或顺序。(代码是索引,但不是数据帧中的一列) df1: df2: 我试图先合并这两个数据帧,但不知道下一步该怎么做。或者有没有更有效的方法?我的理想结果是: code 20180101 20180102 ... 20181231 001 0.5 0.5
code 20180101 20180102 ... 20181231
001 0.5 0.5 ... 0.5
002 0.5 0.3333 ... 5
...
1230 0.25 0.6667 ... 2
1231 1 1 ... 1
对于df1,df2具有相同的索引
code
,但不一定具有相同的长度或顺序,请尝试:
df3 = (df1 / df2).dropna()
试运行:
很抱歉,我不能假设df1和df2具有相同的长度和顺序。很抱歉,我没有在报告中明确说明我的意思beginning@ZiyiGao根据澄清修改
code 20180101 20180102 ... 20181231
001 0.5 0.5 ... 0.5
002 0.5 0.3333 ... 5
...
1230 0.25 0.6667 ... 2
1231 1 1 ... 1
df3 = (df1 / df2).dropna()
print(df1)
Output:
20180101 20180102 20181231
code
1 3 5 5
2 2 1 10
3 1 1 5
4 10 20 30
print(df2)
Output:
20180101 20180102 20181231
code
1 6 10 10
2 4 3 2
3 1 1 5
5 20 30 40
df3 = (df1 / df2).dropna()
print(df3)
Output:
20180101 20180102 20181231
code
1 0.5 0.500000 0.5
2 0.5 0.333333 5.0
3 1.0 1.000000 1.0