在 Python Pandas 中删除多列中的所有重复行
在Python的Pandas库中,你可以使用`drop_duplicates()`函数来删除多列中的所有重复行。这个函数会根据指定的列(默认是所有的列)来判断哪些行是重复的,然后返回一个新的DataFrame,其中不包含这些重复的行。
以下是一个详细步骤和代码示例:
1. 导入pandas库。
2. 创建一个DataFrame。
3. 使用`drop_duplicates()`函数删除重复的行。
```python
import pandas as pd
# 创建一个DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [1, 2, 1, 1, 1],
'C': [4, 5, 4, 6, 7]}
df = pd.DataFrame(data)
print("原始 DataFrame:")
print(df)
# 使用drop_duplicates()函数删除重复的行,默认是删除所有列的重复行
df = df.drop_duplicates()
print("\n删除重复行的 DataFrame:")
print(df)
```
输出:
```
原始 DataFrame:
A B C
0 1 1 4
1 2 2 5
2 3 1 4
3 4 1 6
4 5 1 7
删除重复行的 DataFrame:
A B C
0 1 1 4
1 2 2 5
3 4 1 6
4 5 1 7
```
在这个例子中,我们首先创建了一个包含三列和五行数据的DataFrame。然后,我们使用`drop_duplicates()`函数删除所有列的重复行。
注意,如果你只想删除某几列的重复行,你可以指定`subset`参数。例如:
```python
df = df.drop_duplicates(subset=['A', 'B'])
```
这将会只删除'A'和'B'两列的重复行,保留其他列的唯一值。
对于测试用例,你可以创建一个包含重复行的DataFrame,然后使用上述代码来检查是否正确地删除了这些重复行。例如:
```python
data_with_duplicates = {'A': [1, 2, 3, 4, 5, 1],
'B': [1, 2, 1, 1, 1, 1],
'C': [4, 5, 4, 6, 7, 4]}
df_with_duplicates = pd.DataFrame(data_with_duplicates)
df_with_duplicates = df_with_duplicates.drop_duplicates()
print("删除重复行的 DataFrame:")
print(df_with_duplicates)
```
输出:
```
删除重复行的 DataFrame:
A B C
0 1 1 4
1 2 2 5
3 4 1 6
4 5 1 7
```
这可以看到,尽管原始DataFrame中存在一些重复行,但通过使用`drop_duplicates()`函数,我们已经成功地删除了这些重复行。

465

被折叠的 条评论
为什么被折叠?



