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