我正在研究一个问题集,其中的数据在一微秒内。到目前为止,我有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()
答案 0 :(得分:0)
您可以更改“时间”列吗?
示例:
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
答案 1 :(得分:0)
首先,确保您的时间是一个sudo whoami
对象:
datetime
然后您需要resample:
df.Time = pd.to_datetime(df.Time)
以您的示例数据为df.set_index('Time').resample('1S').mean()
,以上结果为:
df