用多列划分两个数据框(特定于列)

时间:2019-10-09 00:02:19

标签: python pandas dataframe

我有两个大小相同的数据帧(df1和df2)。我想创建一个新的数据框,其值为df1 column1 / df2 column1。 所以本质上df​​3 = df1(c1)/ df2(c1),df1(c2)/ df2(c2),df1(c3)/ df2(c3)...

我尝试了下面的代码,但是都给出了一个充满NaN的数据框

#attempt 1
df3 = df2.divide(df1, axis='columns')
#attempt 2
df3= df2/df1

2 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

df3 = df2.div(df1.iloc[0], axis='columns')

答案 1 :(得分:0)

要使用除法功能,数据帧的索引需要匹配。在这种情况下,df1是月初的值,df2是月末的值。这些问题可以通过以下方式解决:

df3 = df2.reset_index(drop=True)/df1.reset_index(drop=True)
df3.set_index(df2.index,inplace=True) ##set the index back to the original (ie end of month)