Series数据去重

目录

准备数据

Series数据去重

DataFrame数据和Series数据去重对比


在pandas中,Series.drop_duplicates(keep=, inplace=)方法用于删除Series对象中的重复值。

  1. keep:

    1. 决定保留哪些重复值。可以取以下三个值之一:

      • 'first'(默认值):保留第一次出现的重复值。

      • 'last':保留最后一次出现的重复值。

      • False:删除所有重复值。

  2. inplace:

    1. 这是一个布尔值参数。如果为True,则直接在原始Series上进行修改,不会返回新的Series。如果为False(默认值),则会返回一个新的Series,原始的Series保持不变。

准备数据

复制代码
import pandas as pd
df = pd.read_csv("../data/b_LJdata.csv")
df.head()

Series数据去重

  1. 对 朝向 构成的 Series对象 去重, 保留第一条, 不影响原始对象

    1 对 朝向 构成的 Series对象 去重, 保留第一条, 不影响原始对象

    1.1 准备数据

    chaoxiang_series = df.head()['朝向']
    print('------------ 去重前 ----------------')
    print(chaoxiang_series)

    1.2 去重

    new_series = chaoxiang_series.drop_duplicates(keep='first', inplace=False)
    print('==================')
    print(new_series)
    print('==================')

    print('------------ 去重后 ----------------')
    print(chaoxiang_series)

2) 对 朝向 构成的 Series对象 去重, 保留最后一条, 不影响原始对象

复制代码
# 2 对 朝向 构成的 Series对象 去重, 保留最后一条, 不影响原始对象
# 2.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 2.2 去重
new_series = chaoxiang_series.drop_duplicates(keep='last', inplace=False)
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

3) 对 朝向 构成的 Series对象 去重, 删除所有重复, 不影响原始对象

复制代码
# 3 对 朝向 构成的 Series对象 去重, 删除所有重复, 不影响原始对象
# 3.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 3.2 去重
new_series = chaoxiang_series.drop_duplicates(keep=False, inplace=False)
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

4) 对 朝向 构成的 Series对象 去重, 保留第一条, 影响原始对象

复制代码
# 4 对 朝向 构成的 Series对象 去重, 保留第一条, 影响原始对象
# 4.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 4.2 去重
new_series = chaoxiang_series.drop_duplicates(keep='first', inplace=True)
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

5) 对 朝向 构成的 Series对象 去重, 保留最后一条, 影响原始对象

复制代码
# 5 对 朝向 构成的 Series对象 去重, 保留最后一条, 影响原始对象
# 5.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 5.2 去重
new_series = chaoxiang_series.drop_duplicates(keep='last', inplace=True)
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

6) 对 朝向 构成的 Series对象 去重, 删除所有重复, 影响原始对象

复制代码
# 6 对 朝向 构成的 Series对象 去重, 删除所有重复, 影响原始对象
# 6.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 6.2 去重
new_series = chaoxiang_series.drop_duplicates(keep=False, inplace=True)
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

*7)*简化

复制代码
# 7 简化
# 7.1 准备数据
chaoxiang_series = df.head()['朝向']
print('------------ 去重前 ----------------')
print(chaoxiang_series)

# 7.2 去重
new_series = chaoxiang_series.drop_duplicates()
print('==================')
print(new_series)
print('==================')

print('------------ 去重后 ----------------')
print(chaoxiang_series)

DataFrame数据和Series数据去重对比

DataFrame数据去重,最终呈现的是数据集合

复制代码
temp_df = df.head().copy()

# 对df所有列去重, 当前df没有重复的行数据
print(temp_df.drop_duplicates())
print("=================================")
# 根据指定列对df去重, 默认保留第一条数据
# 第1行和第5行、第2行和第3行重复
print(temp_df.drop_duplicates(subset=['户型', '朝向']))

Series数据去重,最终呈现是一列数据

复制代码
temp_df = df.head().copy()

# 默认保留第一条数据
print(temp_df.drop_duplicates())
print("===========================")
print(temp_df[['户型','朝向']].drop_duplicates())
相关推荐
昵称画7 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
Linux_cy8 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12038 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami8 小时前
【无标题】
开发语言·python
缓慢更新8 小时前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
CodeGL8 小时前
10、Python基础之进程和线程
开发语言·python
跨境联盟9 小时前
大健康实体如何搭建产品差异化:对比普通营养品与合规跨境膳食补充剂服务模式
数据库·ai·健康医疗·健康管理·精准营养
有想法的py工程师9 小时前
PostgreSQL EXPLAIN中的Cost模型分析(random_page_cost参数):优化器眼中的代价世界与执行计划生成
数据库·postgresql
前进的李工9 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag