我现在手里有两个dataframe,两个数据框的列一样,但是行数不一样,你可以帮我写个代码把这两个数据框纵向连接起来吗
时间: 2024-11-03 07:15:54 浏览: 24
当然可以,如果你想将两个DataFrame按照行数垂直地(即按列堆叠)连接在一起,你可以使用pandas的`concat`函数,设置`axis=0`表示沿着行方向合并。下面是一个简单的例子:
```python
import pandas as pd
# 假设你有两个DataFrame df1 和 df2
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}, index=['row1', 'row2'])
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]}, index=['row3', 'row4'])
# 使用 concat 进行堆叠
merged_df = pd.concat([df1, df2], axis=0)
print(merged_df)
```
如果你想要保留原始索引并将其转换为列,可以在`stack`操作后使用`reset_index`:
```python
merged_df_stacked = merged_df.stack().reset_index(level=1, drop=True)
print(merged_df_stacked)
```
这将会创建一个新的DataFrame,其中原来的行变成了新的列,每个列都是一个子DataFrame的所有行。
阅读全文