【发布时间】:2022-01-06 09:32:18
【问题描述】:
我有这样的客户交易数据集:
| ID | Date | Amount |
|---|---|---|
| 1 | 1-1-21 | 5 |
| 2 | 2-1-21 | 8 |
| 1 | 2-1-21 | 6 |
| 1 | 3-1-21 | 5 |
| 2 | 3-1-21 | 9 |
| 2 | 3-1-21 | 10 |
我必须像这样对客户级别的数据进行分组和聚合:
| ID | Total Amount | Number of days active |
|---|---|---|
| 1 | 16 | 3 |
| 2 | 27 | 2 |
Total Amount = 所有Amount 列的总和
Number of days active = 客户进行 1 次或多次交易的天数
如何计算我的列Number of days active?到目前为止,我已经尝试过:
df= df.groupby('ID').agg({'Amount': lambda price: price.sum(),
'Date': lambda date: len(date).days})
我的Total Amount 栏很好,但我找不到Number of days active
【问题讨论】:
标签: python pandas dataframe pandas-groupby aggregate