三个表纵向拼接,用pandas
时间: 2023-07-12 12:32:38 浏览: 95
可以使用 pandas 的 concat 函数来实现三个表的纵向拼接。
假设三个表分别为 df1、df2、df3,它们的列名相同,可以使用如下代码实现拼接:
```
import pandas as pd
result = pd.concat([df1, df2, df3], axis=0, ignore_index=True)
```
其中,concat 函数的参数如下:
- [df1, df2, df3]:需要拼接的数据表列表,用 [] 包含起来。
- axis=0:表示在纵向方向进行拼接。
- ignore_index=True:表示合并后的表重新生成索引。
这样就可以将三个表纵向拼接成一个表 result,其中所有列名相同,所有行记录会按顺序依次排列。
相关问题
使用pandas忽略行列索引,纵向拼接多个dataframe
您好!谢谢您的问题。为了纵向拼接多个DataFrame并忽略行列索引,您可以使用`concat()`函数,并指定`ignore_index=True`参数。这样,它将忽略行列索引并创建新的0到n-1的行索引,其中n是拼接后的行数。以下是一个示例代码:
```
import pandas as pd
# 创建三个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
df3 = pd.DataFrame({'A': [13, 14, 15], 'B': [16, 17, 18]})
# 纵向拼接DataFrame
result = pd.concat([df1, df2, df3], ignore_index=True)
print(result)
```
运行结果如下:
```
A B
0 1 4
1 2 5
2 3 6
3 7 10
4 8 11
5 9 12
6 13 16
7 14 17
8 15 18
```
希望这可以帮助您!如果您有任何其他问题,请随时问我。
pandas 横向拼接多个表
可以 pandas 的 `concat` 函数来横向拼接多个表。假设有三个表 `df1`、`df2`、`df3`,每个表都有相同的行索引,可以使用以下代码实现横向拼接:
```python
import pandas as pd
# 创建三个表
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['a', 'b', 'c'])
df3 = pd.DataFrame({'E': [13, 14, 15], 'F': [16, 17, 18]}, index=['a', 'b', 'c'])
# 横向拼接
df_concat = pd.concat([df1, df2, df3], axis=1)
print(df_concat)
```
输出结果为:
```
A B C D E F
a 1 4 7 10 13 16
b 2 5 8 11 14 17
c 3 6 9 12 15 18
```
其中 `axis=1` 表示要横向拼接,即按列拼接。如果三个表的列数不同,会自动对齐列索引,缺失的数据会用 NaN 填充。如果要去掉缺失数据,可以使用 `dropna` 函数。