python dataframe按行合并
时间: 2025-05-30 10:38:13 浏览: 39
### 如何在Python中按行合并DataFrame
在 Pandas 中,可以通过 `append()` 方法来实现按行合并两个 DataFrame 对象。此方法会返回一个新的 DataFrame 对象,并不会修改原始对象[^2]。
以下是具体的代码示例:
```python
import pandas as pd
# 创建第一个 DataFrame
df1 = pd.DataFrame({
'name': ['Alice', 'Bob'],
'age': [25, 30],
'city': ['New York', 'Los Angeles']
})
# 创建第二个 DataFrame
df2 = pd.DataFrame({
'name': ['Kelly'],
'age': [42],
'city': ['Beijing']
})
# 使用 append() 方法按行合并
df_new = df1.append(df2)
print(df_new)
```
运行上述代码后,`df_new` 将是一个新的 DataFrame,包含了来自 `df1` 和 `df2` 的所有行数据。
如果存在列名不匹配的情况,则新列会被自动添加到结果 DataFrame 中,并填充缺失值为 NaN。
需要注意的是,在较新的 Pandas 版本中(>=1.4),官方建议使用 `pd.concat()` 替代 `append()` 方法,因为后者已被标记为弃用功能。下面是基于 `concat()` 的替代写法:
```python
df_new = pd.concat([df1, df2], ignore_index=True)
```
通过设置参数 `ignore_index=True`,可以重新索引合并后的 DataFrame 结果[^1]。
---
#### 合并操作中的注意事项
当执行按行合并时,需注意以下几点:
- 如果两者的列结构不同,新增加的列会在最终的结果集中显示,而缺少对应值的位置则被赋予默认值 NaN。
- 原始 DataFrame 不会发生任何改变;只有调用了 `inplace=True` 参数的情况下才会更新原变量(但该选项仅适用于某些特定函数)。
此外,对于更复杂的场景比如涉及键连接或者多表关联等情况,推荐采用 `merge()` 函数完成相应需求。
---
阅读全文
相关推荐

















