我有以下数据框:
df = pd.DataFrame({'Tipo': ['A','A','B','B','B','C','B','A','C','B','A','A','A','A','A','A','A','C','B','B','A']})
Type
0 A
1 A
2 B
3 B
4 B
5 C
6 B
7 A
8 C
9 B
10 A
11 A
12 A
13 A
14 A
15 A
16 A
17 C
18 B
19 B
20 A
目标是创建一个新列“Rep”,该列统计第一次重复的值所对应的连续行,例如:
Type Rep
0 A 2
1 A 2
2 B 3
3 B 3
4 B 3
5 C 1
6 B 1
7 A 1
8 C 1
9 B 1
10 A 7
11 A 7
12 A 7
13 A 7
14 A 7
15 A 7
16 A 7
17 C 1
18 B 2
19 B 2
20 A 1
我找到了一种方法来识别值的索引,但我必须更改这些值的编号才能正常工作,我不知道如何生成列rep:
df.loc[df['Type'] == 'B', 'Type'] = 2
mask = df == 2
index_type = mask.type[mask.type].index.values
输出:
[2 3 4 6 9 18 19]
通过比较^{} 为不等于^{} 创建的} 和上次使用^{} 与^{} 来创建连续组:
Series
与累计和^{或^{} 计数:
详细信息:
相关问题 更多 >
编程相关推荐