表(df):
customer_id Order_date
1 2015-01-16
1 2015-01-19
2 2014-12-21
2 2015-01-10
1 2015-01-10
3 2018-01-18
3 2017-03-04
4 2019-11-05
4 2010-01-01
3 2019-02-03
3 2020-01-01
3 2018-01-01
需要的输出: df 的子集,其中 customer_ID 的 order_date 超过 3 个。 (跳过 2,4 和 5 客户 ID,因为他们的 order_dates 少于 3 个)
Customer_id Number_of_Order_dates
1 3
3 5
我尝试过 groupby,但它无法创建子集。请帮忙。
到目前为止尝试过的代码失败了:
df[df['days'].count()>3]
还有一个我试过的,这是不正确的:
df1=df.groupby('customer_id')['order_date'].count()
df[df1.iloc[:,1]]
最佳答案
国际大学联盟
df.groupby('customer_id')['Order_date'].nunique().loc[lambda x : x>=3].reset_index()
Out[94]:
customer_id Order_date
0 1 3
1 3 5
关于python - 根据列的计数值的数据框子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59503266/