你可以使用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
。
下一篇:遍历数据框并根据条件使用替换方法