如何使用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]
答案 0 :(得分:2)
您可以使用groupby
和nunique
进行此操作:
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')