首页 > 解决方案 > Python中是否有任何用于聚合秒级毫秒数据的函数?

问题描述

我正在研究一个问题集,其中数据以微秒为单位。到目前为止,我有 4 小时的数据。该数据集非常庞大,因为它包含微秒级数据。我想将每个微秒数据汇总到各自的秒数中,以便有助于分析。

例子:

Vibration1   Vibration2  Vibration3  Temperature     Pressure           Time
   816          698          822        1852           710      2019-03-26 09:49:09.013650
   702          690          764        2002           810      2019-03-26 09:49:09.014308
   702          692          768        1888           706      2019-03-26 09:49:09.014680
   696          690          704        2004           810      2019-03-26 09:49:09.015094
   738          696          772        1990           710      2019-03-26 09:49:09.015682
   834          692          704        2066           704      2019-03-26 09:49:09.016153
   798          692          690        1892           722      2019-03-26 09:49:09.016520
   696          722          708        2102           700      2019-03-26 09:49:09.016875
   824          690          700        2058           718      2019-03-26 09:49:09.017213
   692          702          694        2106           704      2019-03-26 09:49:09.017564

像这样,我在第 09 秒有很多行。我总共有 4 小时的数据。我应该如何用他们各自的秒和分钟按秒分组?

请帮我。

如果我groupby使用秒数,它基本上用秒数对所有数据进行分组,而不管它的小时数、分钟数。

我已将索引设置为 DateTime 索引,然后我尝试使用此代码。它返回了大约 60 秒的数据聚合,与小时和分钟无关。

df.groupby(df.index.minute).mean()

标签: pythonpython-3.xpandas

解决方案


您可以更改“时间”列吗?

例子:

import pandas as pd

data = {
    'dates': ['09:49:09.015682', '09:50:09.025682', '09:51:09.055682', '09:49:09.035682', '09:50:09.015682'],
    'values': [ 1, 2, 3, 4, 5]
}
df = pd.DataFrame(data)

for i in df.index:
    df['dates'][i] = df['dates'][i][:8]

print(df.groupby('dates').mean())

输出:

          values
dates           
09:49:09     2.5
09:50:09     3.5
09:51:09     3.0

推荐阅读