pandas 有两个df数据,根据df1的列数据,把df2的其中一列匹配给df1
时间: 2024-03-22 14:37:24 浏览: 154
你可以使用 pandas 的 merge 函数来将两个 data frame 按照特定的列进行合并。假设你需要将 df1 和 df2 按照 "col1" 列进行合并,将 df2 的 "col2" 列赋值给 df1 中的 "col3" 列,可以按照如下方式进行操作:
```python
import pandas as pd
# 创建示例数据 df1 和 df2
df1 = pd.DataFrame({'col1': ['A', 'B', 'C'], 'col3': [0, 0, 0]})
df2 = pd.DataFrame({'col1': ['A', 'B', 'D'], 'col2': [1, 2, 3]})
# 按照 'col1' 列进行合并,将 df2 的 'col2' 列赋值给 df1 的 'col3' 列
df1 = pd.merge(df1, df2[['col1', 'col2']], on='col1', how='left')
df1['col3'] = df1['col3'].fillna(df1['col2'])
df1 = df1.drop('col2', axis=1)
print(df1)
```
这里使用了 merge 函数将 df1 和 df2 按照 "col1" 列进行合并,使用了 left 连接方式。然后,将 df2 的 "col2" 列赋值给 df1 的 "col3" 列,并且将 df1 中的缺失值填充为 df1 中的 "col2" 列。最后,将 df2 的 "col2" 列删除,得到最终的结果 df1。
相关问题
pandas 有两个df数据,根据df1的最后一列数据,把df2的列匹配给df1
可以使用 pandas 的 merge 函数将两个 DataFrame 进行匹配,根据 df1 的最后一列数据将 df2 的列匹配给 df1。具体的操作如下:
``` python
import pandas as pd
# 生成示例数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': ['X', 'Y', 'Z']})
df2 = pd.DataFrame({'D': [7, 8, 9], 'E': [10, 11, 12], 'C': ['X', 'Y', 'Z']})
# 使用 merge 函数进行匹配
df_merged = pd.merge(df1, df2, on='C')
# 输出匹配后的结果
print(df_merged)
```
上述代码中,我们首先生成了两个示例数据 df1 和 df2,分别含有三列和两列数据。其中 df1 包含了最后一列 C,根据这一列数据将 df2 的列匹配给 df1。接着,我们使用 merge 函数将两个 DataFrame 进行匹配,使用 on='C' 表示根据 C 列进行匹配。最后,输出匹配后的结果,即包含所有列的新 DataFrame。
pandas 有两个df数据,把df2的列匹配给df1
可以使用 pandas 的 merge 函数将两个 DataFrame 进行匹配,将 df2 的列匹配给 df1。具体的操作如下:
``` python
import pandas as pd
# 生成示例数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
# 使用 merge 函数进行匹配
df_merged = pd.merge(df1, df2, left_index=True, right_index=True)
# 输出匹配后的结果
print(df_merged)
```
上述代码中,我们首先生成了两个示例数据 df1 和 df2,分别含有两列数据 A 和 B,以及两列数据 C 和 D。接着,我们使用 merge 函数将两个 DataFrame 进行匹配,使用 left_index=True 和 right_index=True 表示使用索引进行匹配。最后,输出匹配后的结果,即包含所有列的新 DataFrame。
阅读全文