Python 从多个日期中获取平均日期-熊猫
日期为日期时间的数据框:Python 从多个日期中获取平均日期-熊猫,python,pandas,timestamp,average,Python,Pandas,Timestamp,Average,日期为日期时间的数据框: Column | Date :-----------|----------------------: A | 2018-08-05 17:06:01 A | 2018-08-05 17:06:02 A | 2018-08-05 17:06:03 B | 2018-08-05 17:06:07 B |
Column | Date
:-----------|----------------------:
A | 2018-08-05 17:06:01
A | 2018-08-05 17:06:02
A | 2018-08-05 17:06:03
B | 2018-08-05 17:06:07
B | 2018-08-05 17:06:09
B | 2018-08-05 17:06:11
返回表为
Column | Date
:-----------|----------------------:
A | 2018-08-05 17:06:02
B | 2018-08-05 17:06:09
以你为例
您的数据:
df = pd.DataFrame(data=[['A', '2018-08-05 17:06:01'],
['A', '2018-08-05 17:06:02'],
['A', '2018-08-05 17:06:03'],
['B', '2018-08-05 17:06:07'],
['B', '2018-08-05 17:06:09'],
['B', '2018-08-05 17:06:11']],
columns = ['column', 'date'])
解决方案:
df.date = pd.to_datetime(df.date).values.astype(np.int64)
df = pd.DataFrame(pd.to_datetime(df.groupby('column').mean().date))
输出:
date
column
A 2018-08-05 17:06:02
B 2018-08-05 17:06:09
我希望这会有帮助。举个例子
您的数据:
df = pd.DataFrame(data=[['A', '2018-08-05 17:06:01'],
['A', '2018-08-05 17:06:02'],
['A', '2018-08-05 17:06:03'],
['B', '2018-08-05 17:06:07'],
['B', '2018-08-05 17:06:09'],
['B', '2018-08-05 17:06:11']],
columns = ['column', 'date'])
解决方案:
df.date = pd.to_datetime(df.date).values.astype(np.int64)
df = pd.DataFrame(pd.to_datetime(df.groupby('column').mean().date))
输出:
date
column
A 2018-08-05 17:06:02
B 2018-08-05 17:06:09
我希望这会有所帮助。准备一个示例数据帧:
提取所需的平均时间戳值:
准备示例数据帧:
提取所需的平均时间戳值:
我对max和min的idxmin和idexmax做了同样的事情。但是我想不出一个平均值的方法。我用idxmin和idexmax对max和min做了同样的事情。但我想不出一种方法来实现平均。我正在寻找一种方法,在groupby聚合中包含DateTime列。您的解决方案修复了pandas最初排除它们的事实。我正在寻找一种在groupby聚合中包含DateTime列的方法。您的解决方案解决了熊猫最初排除它们的问题。