In python dataframe, I have a data frame like this
| index | column A |
|---|---|
| 0 | a |
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | c |
| 5 | c |
| 6 | c |
I want to create a column that will set index based on the same column's value
| index | column A | setIndex |
|---|---|---|
| 0 | a | 0 |
| 1 | a | 1 |
| 2 | b | 0 |
| 3 | c | 0 |
| 4 | c | 1 |
| 5 | c | 2 |
| 6 | c | 3 |
You can use .groupby() + .cumcount(), as follows:
df['setIndex'] = df.groupby('column A').cumcount()
Result:
print(df)
column A setIndex
0 a 0
1 a 1
2 b 0
3 c 0
4 c 1
5 c 2
6 c 3
df['setIndex'] = df.groupby('column A').cumcount()groupby.cumcount.