我知道这可能超级简单,但是我是数据框操作的新手。我总共有 17 个数据帧,我需要将它们合并为一个。例如:
DF1:
| id | val_1 |
|-------|----------|
| A | 0 |
| B | 2 |
| C | 1 |
DF2:
| id | val_2 |
|-------|----------|
| A | 5 |
| D | 2 |
期望结果应该是:
| id | val_1 | val_2 |
|-------|----------|----------|
| A | 0 | 5 |
| B | 2 | N/A |
| C | 1 | N/A |
| D | N/A | 2 |
merge
或concate
应该使用什么正确的方法?
谢谢!
答案 0 :(得分:0)
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.array([
['A', 0],
['B', 2],
['C', 1]]),
columns=['id', 'val1'])
df2 = pd.DataFrame(np.array([
['A', 5],
['D', 2]]),
columns=['id', 'val2'])
print(pd.merge(df1, df2, on='id', how='outer'))
应提供所需的输出:
id val1 val2
0 A 0 5
1 B 2 NaN
2 C 1 NaN
3 D NaN 2