要遍历具有相同列标题的两个数据帧,并根据多个条件查找相似的行,可以使用 Pandas 库提供的功能。以下是一个包含代码示例的解决方法:
import pandas as pd
# 创建两个示例数据帧
df1 = pd.DataFrame({'Name': ['John', 'Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'Paris', 'London', 'Tokyo']})
df2 = pd.DataFrame({'Name': ['Alice', 'Bob', 'John', 'Charlie'],
'Age': [30, 35, 25, 40],
'City': ['Paris', 'London', 'New York', 'Tokyo']})
# 根据多个条件查找相似的行
similar_rows = []
for index1, row1 in df1.iterrows():
for index2, row2 in df2.iterrows():
if (row1['Name'] == row2['Name'] and
row1['Age'] == row2['Age'] and
row1['City'] == row2['City']):
similar_rows.append((index1, index2))
# 输出相似行的索引
for row1_index, row2_index in similar_rows:
print("Similar rows found: df1[{}], df2[{}]".format(row1_index, row2_index))
上述代码首先创建了两个示例数据帧 df1
和 df2
,然后使用嵌套的 for 循环遍历这两个数据帧。在循环中,通过比较行的各个列的值,判断是否为相似的行,并将相似行的索引存储在 similar_rows
列表中。
最后,通过遍历 similar_rows
列表,输出找到的相似行的索引。请根据实际需求修改代码,比较更多的列或添加其他条件。
上一篇:遍历具有相同类名的元素并将其移除
下一篇:遍历具有限制条件的0、1列表