如何在python数据帧中以相同的时间秒对行进行分组?

如何在python数据帧中以相同的时间秒对行进行分组?,python,dataframe,Python,Dataframe,我正在研究一个数据框,其中包含一列时间hh:mm:ss.zzz,我正在寻找一种解决方案,将所有元素分组为类似的秒数“ss”。如果不发布数据框,您的问题很难回答,但这可能是您想要的: import pandas as pd import re df = pd.DataFrame([['ID1','01:22:52.134'],['ID2','03:21:31.123'],['ID3','21:12:52.544'],['ID4','23:12:31.216'],['ID5','10:22:02.

我正在研究一个数据框,其中包含一列时间hh:mm:ss.zzz,我正在寻找一种解决方案,将所有元素分组为类似的秒数“ss”。

如果不发布数据框,您的问题很难回答,但这可能是您想要的:

import pandas as pd
import re

df = pd.DataFrame([['ID1','01:22:52.134'],['ID2','03:21:31.123'],['ID3','21:12:52.544'],['ID4','23:12:31.216'],['ID5','10:22:02.134'],['ID6','06:52:46.184']], columns=["ID's",'Time'])

pattern = re.compile(r':(\d{2})\.')

dfout = df["ID's"].groupby(df['Time'].str.extract(pattern, expand=False))

for name, group in dfout:
    print('Group Name: ' + name)
    print(group)
收益率:

Group Name: 02
4    ID5
Name: ID's, dtype: object
Group Name: 31
1    ID2
3    ID4
Name: ID's, dtype: object
Group Name: 46
5    ID6
Name: ID's, dtype: object
Group Name: 52
0    ID1
2    ID3
Name: ID's, dtype: object

发布数据帧?我的数据帧包含多个具有相应时间戳的ID。这意味着一列ID和另一列表示时间。我想要的是对同一秒钟内发生的所有ID进行分组。编辑我的答案以说明您的上述评论。如果你觉得这回答了你的问题,请用绿色的复选标记接受我的答案。同样,如果您在OP中发布了一个数据帧示例来完成您的问题,if将非常有帮助。谢谢您的回答,这非常有帮助。还有一个小问题是,我想考虑时间和分钟,但在几秒钟内停止,不要再走到微秒。我的时间格式是:%H:%M:%S.%fI会鼓励您研究正则表达式,您可以在我上面的回答中使用定义的模式。我对re.compiler'\d{0}:\d{1}:\d{2}\'感到厌倦,但它显示了维度问题