pandas 中亿行数据去重
时间: 2023-11-15 07:59:35 浏览: 100
在 Pandas 中,可以使用 `duplicated()` 和 `drop_duplicates()` 两个方法进行数据去重。其中,`duplicated()` 方法返回一个布尔型的 Series,表示每一行是否为重复行;而 `drop_duplicates()` 方法则返回一个去重后的 DataFrame。这两个方法都可以指定去重的列,具体使用方法如下:
```python
# 导入 Pandas 库
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 判断每一行是否为重复行
is_duplicated = df.duplicated()
# 去重
df_drop_duplicates = df.drop_duplicates()
```
需要注意的是,这两个方法默认会判断所有列是否相同,如果只想根据某些列进行去重,可以使用 `subset` 参数指定需要去重的列名。另外,`drop_duplicates()` 方法还可以使用 `keep` 参数指定保留哪一个重复行,默认保留第一个重复行,可以设置为 `last` 保留最后一个重复行,或者设置为 `False` 删除所有重复行。
相关问题
pandas对列数据去重
可以使用 `drop_duplicates()` 方法对 pandas 数据库中的列数据进行去重,例如:
```python
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'fruit': ['apple', 'banana', 'apple', 'orange', 'banana', 'banana'],
'count': [2, 3, 1, 4, 2, 1]}
df = pd.DataFrame(data)
# 对 'fruit' 列进行去重
df_fruit = df.drop_duplicates('fruit')
print(df_fruit)
```
输出结果为:
```
fruit count
0 apple 2
1 banana 3
3 orange 4
```
在这个例子中,我们先创建了一个包含重复数据的 DataFrame,然后使用 `drop_duplicates()` 方法对 'fruit' 列进行去重,最终得到一个仅包含不重复 'fruit' 列的 DataFrame。
如何在Python中使用pandas库进行数据去重?
在Python中,使用pandas库进行数据去重非常直观,主要通过`drop_duplicates()`函数来完成。以下是一个基本的过程:
```python
import pandas as pd
# 假设我们有一个DataFrame df,包含了我们要去重的数据
df = pd.DataFrame({
'column1': ['A', 'B', 'C', 'A', 'D', 'B'],
'column2': [1, 2, 3, 1, 4, 2],
'column3': [True, False, True, False, True, False]
})
# 默认情况下,它会找出所有列中值都相同的行作为重复
# 如果你想只基于某几个特定列去重,可以在函数中指定这些列名,例如:
deduplicated_df = df.drop_duplicates(['column1', 'column2'])
# 或者你可以选择仅保留每个唯一的组合,这称为“按索引”去重:
# deduplicated_df = df.drop_duplicates()
print(deduplicated_df)
```
在这个例子中,`drop_duplicates()`将返回一个新的DataFrame,其中重复的行已经被删除或合并(如果设置了`keep='first'`等选项)。
阅读全文