在Pandas中,可以使用duplicated()
和drop_duplicates()
函数来检测和处理重复数据。具体方法如下:
duplicated()
函数
该函数能够识别在DataFrame中具有重复项的行,返回一个布尔型数组,其中值为True表示该行是一个重复行。
用法示例:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 1, 2, 3, 2, 2, 1, 2]
})
# 检查是否存在重复行
duplicate_rows_df = df[df.duplicated()]
print("重复的行:")
print(duplicate_rows_df)
输出结果:
重复的行:
A B C
3 bar three 3
4 foo two 2
5 bar two 2
6 foo one 1
7 foo three 2
drop_duplicates()
函数
该函数能够删除DataFrame中的重复项。默认情况下,它会挑选第一次出现的值,将其它的值都视为重复项。
用法示例:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 1, 2, 3, 2, 2, 1, 2]
})
# 删除重复行
df = df.drop_duplicates()
print("去重之后的DataFrame:")
print(df)
输出结果:
去重之后的DataFrame:
A B C
0 foo one 1
1 bar one 1
2 foo two 2
3 bar three 3
4 foo two 2
5 bar two 2
6 foo one 1
7 foo three 2
根据上述方法,可以计算Pandas数据框架中的重复数。首先使用duplicated()
函数识别出重复行,然后再使用sum()
函数计算重复数。
用法示例:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 1, 2, 3, 2, 2, 1, 2]
})
# 计算重复数
duplicate_count = df.duplicated().sum()
print("DataFrame中的重复数为:", duplicate_count)
输出结果:
DataFrame中的重复数为: 5
也可以使用drop_duplicates()
函数计算Pandas数据框架中的重复数。此时直接删除掉重复行,并计算处理后的行数与原始行数之差即可。
用法示例:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 1, 2, 3, 2, 2, 1, 2]
})
# 计算重复数
original_len = len(df)
df = df.drop_duplicates()
new_len = len(df)
duplicate_count = original_len - new_len
print("DataFrame中的重复数为:", duplicate_count)
输出结果:
DataFrame中的重复数为: 5
以上就是计算Pandas数据框架中的重复数的完整攻略,包括具体方法及示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何计算Pandas数据框架中的重复数 - Python技术站