要保留Pandas DataFrame 中的重复行,可以使用duplicated()
方法和布尔索引。
下面是一个示例,演示如何实现这个功能:
- 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)
运行结果
- A
- 2 apple
- 4 banana
- 5 banana
在上述代码中,我们首先使用duplicated()
方法查找DataFrame中的重复行,返回一个布尔Series,其中值为True表示对应的行是重复的。然后,我们使用这个布尔Series作为布尔索引,从DataFrame中选择重复的行,并将结果存储在duplicate_rows
变量中。
如果你想保留Pandas DataFrame中的所有重复行,可以使用duplicated()
方法和keep
参数。
下面是一个示例,演示如何实现这个功能:
- 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)
运行上述代码会输出下面的结果:
- A
- 0 apple
- 2 apple
- 4 banana
- 5 banana
在上述代码中,我们使用duplicated()
方法查找DataFrame中的重复行,并通过将keep
参数设置为False
来保留所有重复行。该方法返回一个布尔Series,其中值为True表示对应的行是重复的。
然后,我们使用这个布尔Series作为布尔索引,从DataFrame中选择重复的行,并将结果存储在duplicate_rows
变量中。
这样,duplicate_rows
就是一个包含了所有重复行的新DataFrame对象。