为 pandas 中的重复特征子集添加增量计数器
Add incremental counter for repeating feature subsets in pandas
假设我有以下 table:
id
name
mail
date
1
Sta
sta@example.com
11.11.22
2
Danny
dany@example.com
11.11.22
3
Elle
elle@example.com
11.11.22
4
Elle
falsemail@example.com
11.11.22
5
Elle
elle@example.com
12.11.22
为特征子集 [name, date] 的重复观察创建增量计数器的最佳方法是什么?
期望的输出:
id
name
mail
date
counter
1
Sta
sta@example.com
11.11.22
1
2
Danny
dany@example.com
11.11.22
1
3
Elle
elle@example.com
11.11.22
1
4
Elle
falsemail@example.com
11.11.22
2
5
Elle
elle@example.com
12.11.22
1
编辑:table 本身已正确排序,重复项依次出现。
df['counter'] = df.groupby(['name', 'date']).cumcount() + 1
df
id name mail date counter
0 1 Sta sta@example.com 11.11.22 1
1 2 Danny dany@example.com 11.11.22 1
2 3 Elle elle@example.com 11.11.22 1
3 4 Elle falsemail@example.com 11.11.22 2
4 5 Elle elle@example.com 12.11.22 1
假设我有以下 table:
id | name | date | |
---|---|---|---|
1 | Sta | sta@example.com | 11.11.22 |
2 | Danny | dany@example.com | 11.11.22 |
3 | Elle | elle@example.com | 11.11.22 |
4 | Elle | falsemail@example.com | 11.11.22 |
5 | Elle | elle@example.com | 12.11.22 |
为特征子集 [name, date] 的重复观察创建增量计数器的最佳方法是什么?
期望的输出:
id | name | date | counter | |
---|---|---|---|---|
1 | Sta | sta@example.com | 11.11.22 | 1 |
2 | Danny | dany@example.com | 11.11.22 | 1 |
3 | Elle | elle@example.com | 11.11.22 | 1 |
4 | Elle | falsemail@example.com | 11.11.22 | 2 |
5 | Elle | elle@example.com | 12.11.22 | 1 |
编辑:table 本身已正确排序,重复项依次出现。
df['counter'] = df.groupby(['name', 'date']).cumcount() + 1
df
id name mail date counter
0 1 Sta sta@example.com 11.11.22 1
1 2 Danny dany@example.com 11.11.22 1
2 3 Elle elle@example.com 11.11.22 1
3 4 Elle falsemail@example.com 11.11.22 2
4 5 Elle elle@example.com 12.11.22 1