需要从Pandas DataFrame中删除重复项吗?
如果是这样,你可以应用以下语法从DataFrame中删除重复项:
df.drop_duplicates()Pandas DataFrame如何删除重复项?在下一节中,你将看到在实践中应用此语法的步骤以及相关的Pandas DataFrame删除重复项示例。
从 Pandas DataFrame中删除重复项的步骤
步骤 1:收集包含重复项的数据
首先,你需要收集包含重复项的数据。
例如,假设你有以下关于盒子的数据,其中每个盒子可能有不同的颜色或形状:
| Color | Shape | 
| Green | Rectangle | 
| Green | Rectangle | 
| Green | Square | 
| Blue | Rectangle | 
| Blue | Square | 
| Red | Square | 
| Red | Square | 
| Red | Rectangle | 
如你所见,两列下都有重复项。
在删除这些重复项之前,你需要创建 Pandas DataFrame以在 Python 中捕获该数据。
第 2 步:创建 Pandas DataFrame
接下来,使用以下代码创建 Pandas DataFrame:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
         'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
        }
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
print(df)在 Python 中运行代码后,你将获得与步骤 1 中相同的值:
   Color      Shape
0  Green  Rectangle
1  Green  Rectangle
2  Green     Square
3   Blue  Rectangle
4   Blue     Square
5    Red     Square
6    Red     Square
7    Red  Rectangle
第 3 步:从 Pandas DataFrame 中删除重复项
要从DataFrame中删除重复项,你可以使用在本指南开头看到的以下语法:
df.drop_duplicates()Pandas DataFrame如何删除重复项?假设你要删除颜色和形状两列中的重复项。
在这种情况下,请应用以下代码以删除这些重复项:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
         'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
        }
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
df_duplicates_removed = df.drop_duplicates()
print(df_duplicates_removed)如你所见,只有两列中的不同值仍然存在:
   Color      Shape
0  Green  Rectangle
2  Green     Square
3   Blue  Rectangle
4   Blue     Square
5    Red     Square
7    Red  Rectangle
但是,如果你想删除特定列(例如颜色列)上的重复项怎么办?
在这种情况下,你可以使用子集指定列名:
df.drop_duplicates( subset=['Color'] )
因此,删除 Color 列重复项的完整 Python Pandas DataFrame删除重复项示例如下所示:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
         'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
        }
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
df_duplicates_removed = df.drop_duplicates(subset=['Color'])
print(df_duplicates_removed)结果如下:
   Color      Shape
0  Green  Rectangle
3   Blue  Rectangle
5    Red     Square
你可能需要查看Pandas 文档以了解有关从Pandas DataFrame中删除重复项的更多信息。

 
	
