pandas數(shù)據(jù)合并與重塑
1 contact
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
keys=None, levels=None, names=None, verify_integrity=False)
objs: series/dataframe/panel構(gòu)成的序列l(wèi)ist
axis:需要合并鏈接的軸,0是行,1是列
join:連接的方式 inner/outer
1.1 相同字段的表首尾相接
table1:
| A | B | C | |
|---|---|---|---|
| 0 | A0 | B0 | C0 |
| 1 | A1 | B1 | C1 |
table2:
| A | B | C | |
|---|---|---|---|
| 2 | A2 | B2 | C2 |
| 3 | A3 | B3 | C3 |
table3:
| A | B | C | |
|---|---|---|---|
| 4 | A4 | B4 | C4 |
| 5 | A5 | B5 | C5 |
# 先將表構(gòu)成list,然后在作為concat的輸入
In [4]: frames = [table1, table2, table3]
In [5]: result = pd.concat(frames)
Result:
| A | B | C | |
|---|---|---|---|
| 0 | A0 | B0 | C0 |
| 1 | A1 | B1 | C1 |
| 2 | A2 | B2 | C2 |
| 3 | A3 | B3 | C3 |
| 4 | A4 | B4 | C4 |
| 5 | A5 | B5 | C5 |
要在相接的時候在加上一個層次的key來識別數(shù)據(jù)源自于哪張表,可以增加key參數(shù)
In [6]: result = pd.concat(frames, keys=['x', 'y', 'z'])
Result:
| A | B | C | ||
|---|---|---|---|---|
| x | 0 | A0 | B0 | C0 |
| x | 1 | A1 | B1 | C1 |
| y | 2 | A2 | B2 | C2 |
| y | 3 | A3 | B3 | C3 |
| z | 4 | A4 | B4 | C4 |
| z | 5 | A5 | B5 | C5 |