我有一个包含大量行和列的数据帧.下面的数据帧只是它的简化版本.
dct = {'day': ['Mon', 'Tue', 'Wed', 'Wed', 'Thur', 'Fri', 'Fri', 'Sat', 'Sun'],
'id': ['1', '2', '3', '4', '5',
'6', '7', '8', '9']}
df = pd.DataFrame(dct)
day id
0 Mon 1
1 Tue 2
2 Wed 3
3 Wed 4
4 Thur 5
5 Fri 6
6 Fri 7
7 Sat 8
8 Sun 9
我希望更改ID以匹配重复的日期(在此场景中),但仍然是连续的.
day id
0 Mon 1
1 Tue 2
2 Wed 3
3 Wed 3
4 Thur 4
5 Fri 5
6 Fri 5
7 Sat 6
8 Sun 7
到目前为止,我设法更改了ID,但它们不是连续的,我现在有点卡住了.
m = df['day'].duplicated()
df['id'] = df['id'].mask(m).ffill()
day id
0 Mon 1
1 Tue 2
2 Wed 3
3 Wed 3
4 Thur 5
5 Fri 6
6 Fri 6
7 Sat 8
8 Sun 9