dataframe如何删除重复数据
时间: 2023-09-14 22:11:43 浏览: 79
在 pandas 中,可以使用 `drop_duplicates()` 方法来删除重复数据。
假设有一个名为 `df` 的 dataframe,其中包含重复的行,可以使用以下代码删除重复数据:
```python
df.drop_duplicates(inplace=True)
```
该方法会返回一个已删除重复行的新 dataframe,如果使用 `inplace=True`,则会直接在原 dataframe 上进行修改。你也可以指定特定的列来判断是否为重复行,例如:
```python
df.drop_duplicates(subset=['column_name'], inplace=True)
```
其中,`column_name` 为需要检查的列名。
相关问题
dataframe查看重复数据
要查看DataFrame中的重复数据,可以使用pandas库中的duplicated()和drop_duplicates()函数。
duplicated()函数可以用来查找重复的行并返回一个布尔值的Series,其中True表示该行是重复的,False表示该行是唯一的。例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 1], 'B': [4, 5, 6, 4]})
print(df.duplicated())
```
输出:
```
0 False
1 False
2 False
3 True
dtype: bool
```
上面的代码中,DataFrame中第4行是重复的,因为它的A列值与第1行相同,B列值与第1行相同。
drop_duplicates()函数可以用来删除重复的行。例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 1], 'B': [4, 5, 6, 4]})
df = df.drop_duplicates()
print(df)
```
输出:
```
A B
0 1 4
1 2 5
2 3 6
```
上面的代码中,DataFrame中的重复行被删除了。
dataframe根据重复数据放到新的dataframe
可以使用 pandas 库中的 drop_duplicates() 方法去除重复数据,并将结果存储到新的 DataFrame 中。下面是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Bob', 'David', 'Charlie'],
'Age': [25, 30, 35, 30, 40, 35],
'City': ['New York', 'Paris', 'London', 'Paris', 'Tokyo', 'London']}
df = pd.DataFrame(data)
# 根据重复数据放到新的 DataFrame
df_duplicates = df[df.duplicated()]
print(df_duplicates)
```
上述代码首先创建了一个包含重复数据的 DataFrame `df`,然后使用 `df.duplicated()` 找到重复的行并存储到新的 DataFrame `df_duplicates` 中。输出结果为:
```
Name Age City
3 Bob 30 Paris
5 Charlie 35 London
```
可以看到,`df_duplicates` 中只包含重复的行数据。如果想要保留第一个出现的重复数据,可以在 `drop_duplicates()` 方法中设置参数 `keep='first'`。例如:
```python
df_duplicates = df[df.duplicated(keep='first')]
```
此时,`df_duplicates` 中只会保留第一个出现的重复数据。
阅读全文