【Pandas】DataFrame数据去重操作 drop_duplicates() 和重复数据统计 value_counts()

构造数据:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame(
    data=[
        ['zs', 17, 1],
        ['ls', 18, 1],
        ['ls', 18, 1],
        ['ww', 19, 2],
        ['zl', 20, 2]
    ],
    index=['stu0', 'stu1', 'stu2', 'stu3', 'stu4'],
    columns=['name', 'age', 'group']
)
print('df:\n', df)

在这里插入图片描述

数据去重

DataFrame.drop_duplicates(subset=None, keep=“first”, inplace=False, ignore_index=False)

参数:

subset:指定进行去重的列,默认None使用所有列
keep: 去重方式

  • 'first':默认,保留第一次出现的数据,丢掉后续出现的重复的数据
  • 'last':保留最后一次出现的数据,丢掉之前出现的重复的数据
  • False:删除所有重复的数据

inplace: 默认为False。如果为True,则直接删除,对原df进行操作; 如果为False,那么返回一个结果,不会对原df操作!
ignore_index : 默认为 False, 如果为 True则不使用原 行索引,生成索引为 0, 1, …, n - 1。

查看有多少个不同的小组

df.drop_duplicates(
    subset=['group'],  # 按照指定的列进行去重
    keep='first',  # 保留第一次出现的数据,丢掉后续出现的重复的数据
    inplace=True
)
print('df0:\n', df)


df.drop_duplicates(
    subset=['group'],
    keep='first',
    inplace=True,
    ignore_index=True	# 忽略行索引,生成新索引
)
print('df1:\n', df)

在这里插入图片描述

重复数据统计

ret = pd.value_counts(
	df['group'],
	sort=True,		# 默认 True,按值排序
	ascending=True,	# 默认 False,是升序排序;True 表示降序
	dropna=True 	# 默认 True 不包括 NaN 的计数
)
print('ret:\n', ret)
"""
ret:
2    2			# 2组出现了2次
1    3			# 1组出现了3次
Name: group, dtype: int64
"""
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡桃の壶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值