pandas dataframe 怎么保留重复的行

要保留Pandas DataFrame 中的重复行,可以使用duplicated()方法和布尔索引。

下面是一个示例,演示如何实现这个功能:

python 复制代码
import pandas as pd

# 创建一个DataFrame对象
df = pd.DataFrame({'A': ['apple', 'banana', 'apple', 'orange', 'banana', 'banana']})

# 使用duplicated()方法查找重复行
duplicates = df.duplicated()

# 使用布尔索引选择重复行
duplicate_rows = df[duplicates]

print(duplicate_rows)

运行结果

python 复制代码
A
2   apple
4  banana
5  banana

在上述代码中,我们首先使用duplicated()方法查找DataFrame中的重复行,返回一个布尔Series,其中值为True表示对应的行是重复的。然后,我们使用这个布尔Series作为布尔索引,从DataFrame中选择重复的行,并将结果存储在duplicate_rows变量中。


如果你想保留Pandas DataFrame中的所有重复行,可以使用duplicated()方法和keep参数。

下面是一个示例,演示如何实现这个功能:

python 复制代码
import pandas as pd

# 创建一个DataFrame对象
df = pd.DataFrame({'A': ['apple', 'banana', 'apple', 'orange', 'banana', 'banana']})

# 使用duplicated()方法查找重复行,并保留所有重复行
duplicates = df.duplicated(keep=False)

# 使用布尔索引选择重复行
duplicate_rows = df[duplicates]

print(duplicate_rows)

运行上述代码会输出下面的结果:

python 复制代码
A
0   apple
2   apple
4  banana
5  banana

在上述代码中,我们使用duplicated()方法查找DataFrame中的重复行,并通过将keep参数设置为False来保留所有重复行。该方法返回一个布尔Series,其中值为True表示对应的行是重复的。

然后,我们使用这个布尔Series作为布尔索引,从DataFrame中选择重复的行,并将结果存储在duplicate_rows变量中。

这样,duplicate_rows就是一个包含了所有重复行的新DataFrame对象。

相关推荐
IT_陈寒2 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
甲维斯2 小时前
Claude Opus5手搓“NewAPI Plus”首轮成果!
人工智能
程序猿DD2 小时前
分享两个我每天都在用的 Skill,拖进豆包就能跑,限时领 30 天会员
人工智能
阿里云大数据AI技术3 小时前
Agentic Search 2.0:从单轮对话迈向企业级 AI 搜索自动驾驶Agent
人工智能·elasticsearch·agent
东风破_3 小时前
从 messages 数组到 Memory:大模型到底是怎么“记住”上一轮对话的?
人工智能
AEI3 小时前
四年间大模型的演进历程
人工智能·面试·程序员
狂师3 小时前
阿里开源:skill-up,一款Agent Skill 评测工具!
人工智能·开源·agent
武子康3 小时前
同一套 Agent Runtime,为什么 Web、Headless 和 Python SDK 仍然不是同一个产品
人工智能·llm·agent
天天代码码天天4 小时前
一个纯 C 的 OCR Runtime,又向前走了一步:lw.PPOCR.C preview.5 发布
人工智能
程序员cxuan4 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员