有一个dataframe生成代码如下
import pandas as pd
import numpy as np
dates = [i for i in range(1,26)]
print(dates)
df = pd.DataFrame(np.arange(50).reshape(25,2),index=dates, columns=['A', 'B'])
df.loc[5,['A']] = 20
df.loc[6,['A']] = 20
df.loc[6,['B']] = 33
df.loc[16,['A']] = 64
df.loc[16,['B']] = 65
df.loc[17,['A']] = 64
df.loc[17,['B']] = 65
df.loc[8:14,'A'] = 20 # 连续重复
df.loc[8:14,'B'] = 33 # 连续重复
df
A B C
1 0 1 2
2 3 4 5
3 6 7 8
4 9 10 11
5 20 13 14
6 20 33 17
7 18 19 20
8 20 33 23
9 20 33 26
10 20 33 29
11 20 33 32
12 20 33 35
13 20 33 38
14 20 33 41
15 42 43 44
16 64 65 47
17 64 65 50
18 51 52 53
19 54 55 56
20 57 58 59
21 60 61 62
22 63 64 65
23 66 67 68
24 69 70 71
25 72 73 74
如何将其按A列进行分组将B列连续的重复的值进行去重只保留第一个,及最终结果如下
A B C
1 0 1 2
2 3 4 5
3 6 7 8
4 9 10 11
5 20 13 14
6 20 33 17
7 18 19 20
8 20 33 23
9 42 43 44
10 64 65 47
11 51 52 53
12 54 55 56
13 57 58 59
14 60 61 62
15 63 64 65
16 66 67 68
17 69 70 71
18 72 73 74