从dataframe groupby()生成正确的字典



groupby结构:

max_time = df_deh.groupby(['client_id','acc_number'])['time'].max()

这是它的格式:

client_id  acc_number
0          885020       2019-12-12 19:38:00
889942       2020-12-21 14:31:39
1          896967       2020-12-15 16:25:52
2          913756       2020-11-11 15:18:17
Name: time, dtype: datetime64[ns]

我需要从它制作一个dictionarykeys应该是client_idacc_number值的合并(最好中间有一个-),关键的itemsdatetime值。

您可以使用to_dict,然后以您想要的格式创建密钥:

{f'{k[0]}-{k[1]}': v for k, v in max_time.to_dict().items()}
{'0-885020': Timestamp('2019-12-12 19:38:00'), '0-889942': Timestamp('2020-12-21 14:31:39'), '1-896967': Timestamp('2020-12-15 16:25:52'), '2-913756': Timestamp('2020-11-11 15:18:17')}

最新更新