📅  最后修改于: 2023-12-03 14:46:01.975000             🧑  作者: Mango
Pandas是一个强大的数据处理库,提供了丰富的数据处理工具和函数,其中之一就是串联工具(concatenation)。
串联是将多个数据集按照特定的方式合并成一个数据集的过程。在处理大型数据集时,对于从多个来源获取数据的情况,串联是非常有用的。Pandas提供了多种方式来实现串联,例如使用concat()函数、append()函数、merge()函数等。
使用concat()函数可以将多个数据集沿着某个维度进行串联。下面是一个简单的示例:
import pandas as pd
# 创建两个数据集df1和df2
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']})
# 沿着行方向串联df1和df2
result = pd.concat([df1, df2])
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
0 A4 B4 C4 D4
1 A5 B5 C5 D5
2 A6 B6 C6 D6
3 A7 B7 C7 D7
除了使用concat()函数外,我们也可以使用append()函数来实现串联。下面是一个简单的示例:
import pandas as pd
# 创建两个数据集df1和df2
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']})
# 将df2串联到df1的末尾
result = df1.append(df2)
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
0 A4 B4 C4 D4
1 A5 B5 C5 D5
2 A6 B6 C6 D6
3 A7 B7 C7 D7
merge()函数可用于按特定关键字将多个数据集进行串联。下面是一个简单的示例:
import pandas as pd
# 创建两个数据集df1和df2
df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
df2 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
# 按照“key”列将df1和df2进行串联
result = pd.merge(df1, df2, on='key')
print(result)
输出结果为:
key A B C D
0 K0 A0 B0 C0 D0
1 K1 A1 B1 C1 D1
2 K2 A2 B2 C2 D2
3 K3 A3 B3 C3 D3
在实际的工作中,我们经常要对多个数据集进行串联操作。通过本文,我们了解了Pandas中三种不同的串联方式,并可以在实际工作中根据不同的数据需求选择最合适的方式。