Python Pandas是一个非常强大的数据分析库,其中有一个非常重要的功能就是合并和拼接。它可以帮助我们快速地将不同的数据集合并在一起,并且可以根据需要调整数据的结构。
Pandas提供了一系列的函数和方法来合并和拼接数据,其中最常用的有concat,merge,join,append等。
1. concat函数
concat函数可以用来拼接不同的DataFrame,Series或者Panel对象。它可以沿着不同的轴(axis)将对象拼接在一起,例如沿着行(axis=0)或者列(axis=1)。
import pandas as pd df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}, index=[0, 1, 2, 3]) df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'], 'B': ['B4', 'B5', 'B6', 'B7'], 'C': ['C4', 'C5', 'C6', 'C7'], 'D': ['D4', 'D5', 'D6', 'D7']}, index=[4, 5, 6, 7]) df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'], 'B': ['B8', 'B9', 'B10', 'B11'], 'C': ['C8', 'C9', 'C10', 'C11'], 'D': ['D8', 'D9', 'D10', 'D11']}, index=[8, 9, 10, 11]) # 沿着行拼接 result = pd.concat([df1, df2, df3], axis=0) # 沿着列拼接 result = pd.concat([df1, df2, df3], axis=1)
2. merge函数
merge函数可以用来将两个DataFrame对象中的数据进行合并。它可以根据指定的字段来合并,也可以根据两个DataFrame的索引来合并。
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'key': ['K0', 'K1', 'K2', 'K3']}) df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3'], 'key': ['K0', 'K1', 'K2', 'K3']}) # 根据key字段进行合并 result = pd.merge(df1, df2, on='key') # 根据索引进行合并 result = pd.merge(df1, df2, left_index=True, right_index=True)
3. join函数
join函数可以用来将两个DataFrame对象中的数据进行合并,它类似于merge函数,但是它只能按照索引进行合并,而不能按照指定字段进行合并。
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']}, index=['K0', 'K1', 'K2', 'K3']) df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}, index=['K0', 'K1', 'K2', 'K3']) # 根据索引进行合并 result = df1.join(df2)
4. append函数
append函数可以用来将一个DataFrame对象的行拼接到另一个DataFrame对象的后面,它只能拼接DataFrame对象,不能拼接Series或者Panel对象。
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}, index=[0, 1, 2, 3]) df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'], 'B': ['B4', 'B5', 'B6', 'B7'], 'C': ['C4', 'C5', 'C6', 'C7'], 'D': ['D4', 'D5', 'D6', 'D7']}, index=[4, 5, 6, 7]) # 将df2的行拼接到df1的后面 result = df1.append(df2)
以上就是Python Pandas中合并与拼接的基本用法,可以帮助我们快速地处理大量的数据。