在 pandas 中,如何添加一个新列,该列根据给定的分组枚举行?
例如,假设以下 DataFrame:
import pandas as pd
import numpy as np
a_list = ['A', 'B', 'C', 'A', 'A', 'C', 'B', 'B', 'A', 'C']
df = pd.DataFrame({'col_a': a_list, 'col_b': range(10)})
df
col_a col_b
0 A 0
1 B 1
2 C 2
3 A 3
4 A 4
5 C 5
6 B 6
7 B 7
8 A 8
9 C 9
我想添加一个col_c
基于col_a
.col_b
期望的输出:
col_a col_b col_c
0 A 0 1
3 A 3 2
4 A 4 3
8 A 8 4
1 B 1 1
6 B 6 2
7 B 7 3
2 C 2 1
5 C 5 2
9 C 9 3
我很难到达col_c
。您可以使用 进行正确的分组和排序.sort_index(by=['col_a', 'col_b'])
,现在只需访问该新列并标记每一行。