python 合并表格
时间: 2023-09-02 18:14:15 浏览: 84
用python合并多个excel的数据到一个表格里,Python源码.zip
5星 · 资源好评率100%
使用 Pandas 库可以很方便地实现表格合并。
假设有两个表格 A 和 B,它们的结构如下:
```python
import pandas as pd
# 表格 A
df_a = pd.DataFrame({
'id': ['001', '002', '003', '004'],
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 22, 27],
})
# 表格 B
df_b = pd.DataFrame({
'id': ['001', '002', '005', '006'],
'grade': [80, 90, 85, 95],
})
```
表格 A 的结构为:
```
id name age
0 001 Alice 25
1 002 Bob 30
2 003 Charlie 22
3 004 David 27
```
表格 B 的结构为:
```
id grade
0 001 80
1 002 90
2 005 85
3 006 95
```
接下来可以使用 Pandas 的 `merge` 方法将表格 A 和表格 B 按照 id 列进行合并,代码如下:
```python
# 按照 id 列进行合并
df_merged = pd.merge(df_a, df_b, on='id', how='outer')
# 输出合并后的表格
print(df_merged)
```
其中 `on='id'` 表示按照 id 列进行合并,`how='outer'` 表示采用外连接方式合并,将不同的 id 值进行合并,如果某个 id 在 A 表格中出现而在 B 表格中没有出现,则该 id 在 B 表格中对应的列填充 NaN。
合并后的表格结构如下:
```
id name age grade
0 001 Alice 25.0 80.0
1 002 Bob 30.0 90.0
2 003 Charlie 22.0 NaN
3 004 David 27.0 NaN
4 005 NaN NaN 85.0
5 006 NaN NaN 95.0
```
其中,第一列为 id,第二列为 name,第三列为 age,第四列为 grade。可以看到,合并后的表格中包含了两个表格所有的列,其中 A 表格中的 id 为 003 和 004 的行与 B 表格中的所有行没有匹配,因此在合并后的表格中这些行的 name、age 和 grade 列均填充为 NaN。 B 表格中的 id 为 005 和 006 的行也没有在 A 表格中出现,因此在合并后的表格中这些行的 name 和 age 列均填充为 NaN。
以上就是 Python 中合并表格的方法。需要注意的是,合并表格时,需要保证合并的列具有相同的数据类型,并且在合并前最好进行数据清洗和预处理,以避免出现错误。
阅读全文