无论是在学习还是平时的工作中,我们常会遇到多种信息放在不同的表里的情况,此时我们就需要将这些表格的信息合并到一起再进行操作。
首先我们建立两张学生基本信息表 :
第一张表命名为table1
,
import pandas as pd
table1 = pd.DataFrame({
'序号':[1,2,3,4,5,6,7,8,9,10],
'姓名':['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'],
'性别':['男','男','女','女','女','男','男','男','男','女'],
})
结果:
table1
序号 姓名 性别
1 甲 男
2 乙 男
3 丙 女
4 丁 女
5 戊 女
6 己 男
7 庚 男
8 辛 男
9 壬 男
10 癸 女
第二张命名为 table2
.
table2 = pd.DataFrame({
'序号':[11,12,13,14],
'姓名':['张三','李四','王五','赵六'],
'性别':['男','男','女','女'],
})
结果:
table2
序号 姓名 性别
11 张三 男
12 李四 男
13 王五 女
14 赵六 女
表中的表头为序号,姓名,性别
三列,每列中包含的数据不相同,此时对其直接进行合并。
df = [table1,table2]
result = pd.concat(df)
result
序号 姓名 性别
1 甲 男
2 乙 男
3 丙 女
4 丁 女
5 戊 女
6 己 男
7 庚 男
8 辛 男
9 壬 男
10 癸 女
11 张三 男
12 李四 男
13 王五 女
14 赵六 女
可以看到,这种操作十分简单。
这个看似简单的操作在许多时候能够起到大作用。比如我们统计一些学生的高考成绩(刚好4列),这些学生的高考成绩按照学校、班级存在许多个不同的文件中。那么此时我们可以结合
os
的方法将所有表格依次读出再合并为一个表。想象一下比如有100张表格,那么我们只需要简单几句代码就能全部合并起来。而手动操作的话光是打开、复制、粘贴就至少得1-2个小时才能完成,如果每张表头的摆放顺序不一样还会花费更多的时间。