📅  最后修改于: 2023-12-03 15:08:07.327000             🧑  作者: Mango
垂直连接数据是数据分析和处理中常用的方法之一。它是指将一个或多个数据集按照相同的列进行合并,即将行连接起来。Python提供了多种方式来进行垂直连接数据,这些方式可以满足不同的需求。
Pandas是Python中最流行的数据处理库之一。它提供了用于垂直连接数据的concat()
函数。
使用concatenate
函数进行垂直连接数据的示例如下:
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']})
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
'B': ['B4', 'B5', 'B6', 'B7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D': ['D4', 'D5', 'D6', 'D7']})
df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
'B': ['B8', 'B9', 'B10', 'B11'],
'C': ['C8', 'C9', 'C10', 'C11'],
'D': ['D8', 'D9', 'D10', 'D11']})
result = pd.concat([df1, df2, df3], ignore_index=True)
print(result)
输出结果如下:
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
4 A4 B4 C4 D4
5 A5 B5 C5 D5
6 A6 B6 C6 D6
7 A7 B7 C7 D7
8 A8 B8 C8 D8
9 A9 B9 C9 D9
10 A10 B10 C10 D10
11 A11 B11 C11 D11
除了concatenate
函数外,Pandas还提供了另一种方式来进行垂直连接数据,即使用append()
函数。示例如下:
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
'B': ['B4', 'B5', 'B6', 'B7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D': ['D4', 'D5', 'D6', 'D7']})
df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
'B': ['B8', 'B9', 'B10', 'B11'],
'C': ['C8', 'C9', 'C10', 'C11'],
'D': ['D8', 'D9', 'D10', 'D11']})
result = df1.append([df2, df3], ignore_index=True)
print(result)
输出结果与上面的concatenate
函数使用的结果相同。
除了Pandas之外,Python中的另一个重要的数据处理库是NumPy。NumPy提供了vstack()
函数来进行垂直连接数据。示例如下:
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
arr3 = np.array([[9, 10], [11, 12]])
result = np.vstack([arr1, arr2, arr3])
print(result)
输出结果如下:
[[ 1 2]
[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]
[11 12]]
Python提供了多种方式来进行垂直连接数据。其中,Pandas是最广泛使用的数据处理库之一,它提供了多个函数来进行垂直连接数据,例如concatenate
和append
函数。另外,NumPy也提供了一种方式来进行垂直连接数据,即使用vstack()
函数。无论使用哪种方式,我们都可以轻松地将一个或多个数据集按照相同的列进行合并。