2024年05月21日 Python dataframe上下拼接 极客笔记

在数据处理过程中,经常会遇到需要将两个数据集按行进行拼接的情况。这时候,可以使用Pandas库中的DataFrame来实现数据的上下拼接。本文将详细介绍如何通过Python的Pandas库来进行DataFrame的上下拼接操作。
在开始操作之前,需要先安装Pandas库。如果你还没有安装Pandas,可以通过以下命令来安装:
pip install pandas
安装完成后,就可以开始进行DataFrame的上下拼接操作了。
首先,我们需要创建两个DataFrame作为示例。我们创建两个简单的DataFrame,分别是df1和df2。
import pandas as pd
data1 = {'A': [1, 2, 3],
         'B': ['a', 'b', 'c']}
df1 = pd.DataFrame(data1)
data2 = {'A': [4, 5, 6],
         'B': ['d', 'e', 'f']}
df2 = pd.DataFrame(data2)
print("df1:")
print(df1)
print("\ndf2:")
print(df2)
运行结果如下:
df1:
   A  B
0  1  a
1  2  b
2  3  c
df2:
   A  B
0  4  d
1  5  e
2  6  f
Pandas库中提供了concat函数来实现DataFrame的上下拼接操作。我们将df2拼接到df1的下方。
result = pd.concat([df1, df2])
print("\n拼接后的结果:")
print(result)
运行结果如下:
拼接后的结果:
   A  B
0  1  a
1  2  b
2  3  c
0  4  d
1  5  e
2  6  f
可以看到,两个DataFrame按照顺序在垂直方向上进行了拼接。
在concat函数中,可以通过axis参数来指定拼接的轴。axis=0表示按行拼接,axis=1表示按列拼接。下面我们示范如何按照列进行拼接。
result = pd.concat([df1, df2], axis=1)
print("\n按列拼接后的结果:")
print(result)
运行结果如下:
按列拼接后的结果:
   A  B  A  B
0  1  a  4  d
1  2  b  5  e
2  3  c  6  f
可以看到,两个DataFrame按照顺序在水平方向上进行了拼接。
在进行上下拼接时,如果想忽略原有的索引,可以通过ignore_index参数来实现。
result = pd.concat([df1, df2], ignore_index=True)
print("\n忽略索引拼接后的结果:")
print(result)
运行结果如下:
忽略索引拼接后的结果:
   A  B
0  1  a
1  2  b
2  3  c
3  4  d
4  5  e
5  6  f
可以看到,拼接后的结果的索引是重新排列过的。
通过本文的介绍,你已经学会了如何使用Pandas库中的concat函数来进行DataFrame的上下拼接操作,以及如何在拼接过程中进行一些特定的设置。
本文链接:http://so.lmcjl.com/news/5063/