我对此有些迷茫。任何帮助,将不胜感激。
第一个数据框:
2020-08-03 2020-08-04
currency
1WO 8.255000e+00 8.137000e+00
ADH 6.349000e-02 6.388000e-02
... ... ...
XRP 3.292000e+01 3.184000e+01
[130 rows x 2 columns]
第二个数据框:
2020-08-03 2020-08-04
app_id currency
45334 1WO 2.614163e+05 2.614163e+05
ADH 8.403654e+05 8.403654e+05
... ... ...
23423 FRT 1.078614e+03 1.057127e+03
WES 7.844820e+06 7.936699e+06
[148 rows x 2 columns]
编码:
jpy_bal = first_df.multiply(second_df, axis= 0, level='currency').fillna(0).astype(float)
错误:
"Index._join_level on non-unique index " "is not implemented"
NotImplementedError: Index._join_level on non-unique index is not implemented
这是有重复的问题first_df.index
:
#simulate error
print (first_df)
2020-08-03 2020-08-04
currency
1WO 8.25500 8.13700
1WO 0.06349 0.06388
XRP 32.92000 31.84000
jpy_bal = first_df.multiply(second_df, axis= 0, level='currency').fillna(0).astype(float)
print (jpy_bal)
NotImplementedError: Index._join_level on non-unique index is not implemented
可能的解决方案是按索引sum
或mean
按索引汇总的:
first_df = first_df.groupby(level=0).sum()
print (first_df)
2020-08-03 2020-08-04
currency
1WO 8.31849 8.20088
XRP 32.92000 31.84000
jpy_bal = first_df.multiply(second_df, axis= 0, level='currency').fillna(0).astype(float)
print (jpy_bal)
2020-08-03 2020-08-04
app_id currency
45334 1WO 2.174589e+06 2.143844e+06
ADH 0.000000e+00 0.000000e+00
23423 FRT 0.000000e+00 0.000000e+00
WES 0.000000e+00 0.000000e+00
或删除每个索引的重复项:
first_df = first_df[~first_df.index.duplicated()]
print (first_df)
2020-08-03 2020-08-04
currency
1WO 8.255 8.137
XRP 32.920 31.840
jpy_bal = first_df.multiply(second_df, axis= 0, level='currency').fillna(0).astype(float)
print (jpy_bal)
2020-08-03 2020-08-04
app_id currency
45334 1WO 2.157992e+06 2.127144e+06
ADH 0.000000e+00 0.000000e+00
23423 FRT 0.000000e+00 0.000000e+00
WES 0.000000e+00 0.000000e+00
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句