pandas - groupby first 作为 pandas 中的字典
问题描述
我有如下所示的数据框。
session slot_num appt_time
s1 1 2020-01-06 09:00:00
s1 2 2020-01-06 09:20:00
s1 3 2020-01-06 09:40:00
s1 3 2020-01-06 09:40:00
s1 4 2020-01-06 10:00:00
s1 4 2020-01-06 10:00:00
s2 1 2020-01-06 08:20:00
s2 2 2020-01-06 08:40:00
s2 2 2020-01-06 08:40:00
s2 3 2020-01-06 09:00:00
s2 4 2020-01-06 09:20:00
s2 5 2020-01-06 09:40:00
s2 5 2020-01-06 09:40:00
s2 6 2020-01-06 10:00:00
s3 1 2020-01-09 13:00:00
s3 1 2020-01-09 13:00:00
s3 2 2020-01-09 13:20:00
s3 3 2020-01-09 13:40:00
从上面我想创建一个字典,其中键作为会话,值作为每个 appt_time 的开始时间。
预期输出:
d = {'S1':'2020-01-06 09:00:00',
'S2':'2020-01-06 08:20:00',
'S3':'2020-01-09 13:00:00'}
解决方案
DataFrame.drop_duplicates
与转换为索引一起使用sesion
,选择列Series
和最后一次使用Series.to_dict
:
d = df.drop_duplicates('session').set_index('session')['appt_time'].to_dict()
print (d)
{'s1': '2020-01-06 09:00:00', 's2': '2020-01-06 08:20:00', 's3': '2020-01-09 13:00:00'}
推荐阅读
- performance - Jmeter - Android 移动应用记录
- php - 在作业队列中发布到 url 时 Laravel Guzzle 错误
- django - 如何将 Tally ERP-9 与 Python 集成
- ios - 需要用户在 iPhone 屏幕上绘制的角度(方向)
- c++ - C++ OpenCV 包含错误“找不到文件”
- python - 使用 Python 循环并从 Json 脚本中获取值
- php - 使用浏览器会话防止用户提交表单超过 1 次
- druid - 规范在 Aache Druid 中使用空/零记录创建数据源/表
- mysql - mysql 在更新时触发:如何检测 NULL 值?
- asp.net-core - 上传文件时,Swagger UI 执行按钮不起作用