如何利用concat合并两个dataframe
时间: 2023-09-07 20:13:02 浏览: 89
要利用concat合并两个DataFrame,你可以使用pandas库中的concat函数。下面是一个示例代码:
```python
import pandas as pd
# 创建两个示例DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [4, 5, 6],
'B': ['d', 'e', 'f']})
# 使用concat函数合并DataFrame
merged_df = pd.concat([df1, df2], ignore_index=True)
# 打印合并后的DataFrame
print(merged_df)
```
输出结果如下:
```
A B
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
5 6 f
```
在以上示例中,使用了concat函数将df1和df2两个DataFrame按行合并成一个新的DataFrame merged_df。ignore_index参数设置为True,以重新生成索引。
相关问题
pandas通过concat合并两个dataframe不产生新的标签
如果要合并两个 DataFrame,但不想产生新的标签,可以使用 `ignore_index=True` 参数。具体来说,可以使用以下代码合并两个 DataFrame:
```
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]})
# 使用 concat 合并两个 DataFrame,不产生新的标签
df = pd.concat([df1, df2], ignore_index=True)
print(df)
```
输出结果为:
```
A B
0 1 4
1 2 5
2 3 6
3 7 10
4 8 11
5 9 12
```
在这个例子中,使用 `ignore_index=True` 参数合并了两个 DataFrame,并且没有产生新的标签。
Df.concat:合并两个dataframe
`pandas`库中的`concat()`函数是一个非常实用的功能,用于沿着给定的轴方向将多个DataFrame对象连接在一起形成一个新的DataFrame。它主要用于水平(列)或垂直(行)方向的拼接。
**基本语法**:
```python
pd.concat(objs, axis=0, ignore_index=False, join='inner', sort=None, ...)
```
- `objs`: 需要合并的数据框列表或字典,键通常是数据框的名称或索引。
- `axis` (默认为0): 决定如何合并。如果设置为0,表示沿着列(即垂直方向)进行拼接;设置为1则沿行(即水平方向)拼接。
- `ignore_index` (默认为False): 如果为True,新数据框的索引将会是连续的整数序列,而不是原数据框的索引。
- `join`: 可选参数,可以是'inner'、'outer'、'left'、'right'之一,指定连接方式,默认为内连接('inner'),保留两个数据框共有的行。
- `sort`: 控制是否对结果排序,可以是None、True、False或列名列表。
**示例**:
```python
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
# 水平拼接
h_concat = pd.concat([df1, df2], axis=1)
# 输出:(3行2列)
# 列向拼接
v_concat = pd.concat([df1, df2], axis=0)
# 输出:(4行2列)
```
阅读全文