将多个 DataFrame 合并为一个新 DataFrame
时间: 2023-11-03 15:11:44 浏览: 104
可以使用 pandas 库中的 concat() 函数将多个 DataFrame 合并为一个新 DataFrame。concat() 函数的语法如下:
```python
new_df = pd.concat([df1, df2, df3, ...])
```
其中,`df1`, `df2`, `df3`, ... 表示要合并的多个 DataFrame,可以根据实际情况传入不同的参数。合并后生成的新 DataFrame 保存在 `new_df` 变量中。
如果要按照指定的轴进行合并,还可以在 concat() 函数中添加 `axis` 参数。例如,如果要按照行进行合并,可以将 `axis` 参数设置为 0,语法如下:
```python
new_df = pd.concat([df1, df2, df3, ...], axis=0)
```
如果要按照列进行合并,可以将 `axis` 参数设置为 1,语法如下:
```python
new_df = pd.concat([df1, df2, df3, ...], axis=1)
```
需要注意的是,进行合并的多个 DataFrame 的列名和行索引需要是一致的,否则可能会出现错误。
相关问题
spark dataframe 合并多个dataframe为一个
在 Spark 中,可以使用 `unionAll` 或者 `union` 方法将多个 DataFrame 合并为一个。这两个方法的作用都是将多个 DataFrame 进行纵向合并。其中,`unionAll` 方法不会进行去重,而 `union` 方法会去除重复行。
示例代码如下:
```
from pyspark.sql.functions import lit
# 创建三个DataFrame
df1 = spark.createDataFrame([(1, "a"), (2, "b")], ["id", "value"])
df2 = spark.createDataFrame([(3, "c"), (4, "d")], ["id", "value"])
df3 = spark.createDataFrame([(5, "e"), (6, "f")], ["id", "value"])
# 使用 unionAll 方法进行合并
union_df = df1.unionAll(df2).unionAll(df3)
union_df.show()
# 使用 union 方法进行合并
distinct_union_df = df1.union(df2).union(df3).distinct()
distinct_union_df.show()
```
输出结果如下:
```
+---+-----+
| id|******************
将多个dataframe合并
要将多个dataframe合并,可以使用pandas库中的concat()函数。该函数可以将多个dataframe按照指定的轴进行合并。
例如,假设有三个dataframe,分别是df1、df2、df3,它们的列名和数据分别如下:
``` python
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': [7, 8, 9]})
df3 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
```
要将这三个dataframe按照行合并,可以使用concat()函数:
``` python
result = pd.concat([df1, df2, df3], axis=0)
```
其中,第一个参数是要合并的dataframe列表,axis=0表示按照行进行合并。合并后的结果存储在result变量中,结果如下:
```
A B
0 1 4
1 2 5
2 3 6
0 4 7
1 5 8
2 6 9
0 7 10
1 8 11
2 9 12
```
如果要按照列进行合并,可以将axis参数设置为1:
``` python
result = pd.concat([df1, df2, df3], axis=1)
```
合并后的结果如下:
```
A B A B A B
0 1 4 4 7 7 10
1 2 5 5 8 8 11
2 3 6 6 9 9 12
```
阅读全文
相关推荐
















