你可以使用for循环遍历数据框,并根据条件进行合并。以下是一个示例代码:
import pandas as pd
# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [2, 3, 4], 'C': ['x', 'y', 'z']})
# 创建一个空的结果数据框
result = pd.DataFrame()
# 遍历df1的每一行
for index, row in df1.iterrows():
# 获取df1的行值
a_val = row['A']
b_val = row['B']
# 根据条件合并数据
merged_df = df2[df2['A'] == a_val]
# 如果合并后的数据框不为空,则将结果添加到结果数据框中
if not merged_df.empty:
merged_df['B'] = b_val
result = pd.concat([result, merged_df])
# 打印结果数据框
print(result)
这个示例代码中,我们首先创建了两个数据框df1和df2。然后我们创建一个空的结果数据框result。接下来,我们使用iterrows()方法遍历df1的每一行。对于每一行,我们获取A和B的值,并根据条件将df2中与A值相等的行合并到merged_df中。最后,我们将B的值更新为df1中的对应值,并将merged_df与result合并。最后,我们打印出结果数据框result。
下一篇:遍历数据框并根据条件使用替换方法