这是我所拥有的:
import pandas as pd
df = pd.DataFrame()
df['date'] = ['2020-01-01', '2020-01-01','2020-01-01', '2020-01-02', '2020-01-02', '2020-01-03', '2020-01-03']
df['value'] = ['A', 'A', 'A', 'A', 'B', 'A', 'C']
df
date value
0 2020-01-01 A
1 2020-01-01 A
2 2020-01-01 A
3 2020-01-02 A
4 2020-01-02 B
5 2020-01-03 A
6 2020-01-03 C
Run Code Online (Sandbox Code Playgroud)
我想像这样随着时间的推移聚合唯一值:
date value
0 2020-01-01 1
3 2020-01-02 2
5 2020-01-03 3
Run Code Online (Sandbox Code Playgroud)
我不是在寻找这个作为答案:
date value
0 2020-01-01 1
3 2020-01-02 2
5 2020-01-03 2
Run Code Online (Sandbox Code Playgroud)
我需要2020-01-03是3因为有三个唯一值(A、B、C)。
我们可以做的agg list有cumsum
s=df.groupby('date').value.agg(list).cumsum().map(set).map(len)
date
2020-01-01 1
2020-01-02 2
2020-01-03 3
Name: value, dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |