你好呀,汪同学! 2023-10-11 23:15 采纳率: 82.1%
浏览 10
已结题

python如将连续重复的某列值进行去重

有一个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

  • 写回答

2条回答 默认 最新

  • black__vv 2023-10-12 10:48
    关注

    用drop_duplicates就可以

    result = df.drop_duplicates(['A', 'B'], keep='first')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 修改了问题 10月11日
  • 创建了问题 10月11日

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用