查找在熊猫中存在多个月的列值

时间:2019-01-30 20:56:57

标签: python pandas filter group-by pandas-groupby

如何使用Python 3中的熊猫在DateTime中过滤存在多个月的ID

DateTime             ID                                         
2011-01-30 08:00:59 367341093   
2011-01-30 08:03:00 367341093   
2011-02-01 08:03:59 367341093
2011-02-01 08:05:00 367341093
2011-03-12 08:05:00 367341093
2011-03-12 08:05:00 367341093
2011-01-15 08:05:00 367341034
2011-01-15 08:05:00 367341034
2011-01-15 08:05:00 367341012
2011-01-15 08:05:00 367341012
2011-01-15 08:05:00 367341012
2011-02-23 08:05:00 367341045
2011-02-23 08:05:00 367341045
2011-03-01 08:05:00 367341045

结果应为两个ID,分别在1,2和3个月内

result = [367341045, 367341093]

1 个答案:

答案 0 :(得分:2)

您可以使用groupbynunique进行此操作:

u = df['DateTime'].dt.month.groupby(df.ID).nunique()
u

ID
367341012    1
367341034    1
367341045    2
367341093    3
Name: DateTime, dtype: int64

u.index[u > 1]
# Int64Index([367341045, 367341093], dtype='int64', name='ID')
相关问题