要比较所有行的多个特定列,可以使用以下代码示例中的方法:
import pandas as pd
# 创建示例数据
data = {'Name': ['John', 'Mary', 'Mike', 'Tom'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'Paris', 'London', 'Tokyo'],
'Salary': [5000, 6000, 7000, 8000]}
df = pd.DataFrame(data)
# 指定要比较的列
columns_to_compare = ['Age', 'Salary']
# 比较所有行的多个特定列
comparison = df[columns_to_compare].eq(df.loc[0, columns_to_compare])
# 打印比较结果
print(comparison)
输出结果为:
Age Salary
0 True True
1 False False
2 False False
3 False False
在上面的代码示例中,我们首先创建了一个包含姓名、年龄、城市和工资的示例数据框。然后,我们指定要比较的列为'Age'和'Salary'。
接下来,我们使用.loc
方法选择第一行的特定列,并使用.eq
方法将其与数据框中的所有行进行比较。比较的结果是一个包含布尔值的数据框,其中True
表示对应的值相同,False
表示对应的值不同。
最后,我们打印比较结果。在这个例子中,我们可以看到第一行的值与所有行的值进行比较,第一行与自己是相同的,而其余行与第一行的值是不同的。