【发布时间】:2021-04-17 07:38:37
【问题描述】:
我有一列具有日期时间的数据和另一列具有数字字段(长度)的数据,我可以按如下方式聚合,其中我按日期时间分组并获取所有长度的最小值/平均值/最大值。
代码:
df.groupby(['DateTime']).agg({'Length': ['min', 'mean', 'max']})
输出:
Length
min mean max
DateTime
2020-11-24 14:30:00 118 1172.712000 1505
2020-11-24 14:30:01 118 1246.719495 1508
2020-11-24 14:30:02 115 1062.351156 1508
我需要一种简单的方法来在一组列表中捕获此输出,如下所示:
outputdatelist=[2020-11-24 14:30:00, 2020-11-24 14:30:01,...]
outputlen_min=[118, 118, 115]
同样适用于平均值,最大值。
有办法吗?
【问题讨论】:
-
outputdatelist = df.DateTime.tolist()? -
@sharathnatraj,我需要捕获 df.groupby(....) 的输出,而不是 df 的单个元素。希望澄清。
-
是的,我明白了.. 只需
df1 = df.groupby(['DateTime']).agg({'Length': ['min', 'mean', 'max']}).reset_index()然后outputdatelist = df1.DateTime.tolist()
标签: pandas list pandas-groupby