我试图使用Plotly绘制以下数据,这些数据存储在一个多索引数据框中。
ship_out_df.head(3)
out_tonnes
date loc product
2020-05-01 ABC AFM 8000
PRE 6000
DEF PRE 6000
BZF 25200
2020-05-02 ABC AFM 8400
PRE 0
DEF PRE 0
BZF 25700
2020-05-03 ABC AFM 8000
PRE 8000
ABC PRE 8000
BZF 25000
不幸的是,Plotly不能处理多索引数据框,所以不能绘制具有重复索引值的记录,即'PRE'。
我如何才能将这些值传递给维护dategrade结构的plotly params(我不需要loc)? 即对于'PRE'
date product out_tonnes
'2020-05-01' PRE 12000
'2020-05-02' PRE 0
'2020-05-03' PRE 16000
我已经试过了,但这当然会失去 "日期 "结构,并计算所有值。
y = ship_out_df.groupby(['product']).get_group('PRE').out_tonnes.values
然而,这当然会失去 "日期 "结构,并计算所有值。
IIUC ,
result = (df.reset_index().loc[lambda x: x['product'].eq('PRE')]
.groupby(['date','product'], as_index=False)['out_tonnes']
.sum())
print(result)
date product out_tonnes
0 2020-05-01 PRE 12000
1 2020-05-02 PRE 0
2 2020-05-03 PRE 16000