Pandas如何合并/组合列
在本文中,我们将介绍在使用Pandas时如何合并或组合数据框中的列。Pandas是一个开源数据分析库,在Python中使用。它为用户提供了各种功能来分析和操作数据。有时,我们需要将多个列组合成一个列,以更方便的方式处理数据。让我们看看如何进行这些操作。
阅读更多:Pandas 教程
列合并
假设我们有一个数据框,其中包含多个列,我们想将其中的两列合并成一个列。如下所示:
import pandas as pd
data = {'First Name': ['John', 'Tim', 'Mary'],
'Last Name': ['Smith', 'Jones', 'Lee'],
'Age': [22, 25, 19]}
df = pd.DataFrame(data)
print(df)
输出结果是:
First Name Last Name Age
0 John Smith 22
1 Tim Jones 25
2 Mary Lee 19
现在,我们想将“First Name”和“Last Name”列合并为一个“Full Name”列:
df['Full Name'] = df['First Name'] + ' ' + df['Last Name']
print(df)
输出结果是:
First Name Last Name Age Full Name
0 John Smith 22 John Smith
1 Tim Jones 25 Tim Jones
2 Mary Lee 19 Mary Lee
我们可以通过使用“+”运算符将两列合并为一个新列。请注意,我们在两个列之间添加了一个空格(’ ‘)。
如果我们不想保留原始列,我们可以使用drop方法删除它们:
df = df.drop(['First Name', 'Last Name'], axis=1)
print(df)
输出结果是:
Age Full Name
0 22 John Smith
1 25 Tim Jones
2 19 Mary Lee
这样,我们就创建了一个新的数据框,其中包含一个新的“Full Name”列。
列间合并
我们也可以将多个列合并为一个列。假设我们有以下数据框:
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)
输出:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
我们想将“A”列、“B”列和“C”列组合为一列。我们可以使用concat方法来完成这个操作:
df['Combined'] = pd.concat([df['A'], df['B'], df['C']], ignore_index=True)
print(df)
输出:
A B C Combined
0 1 4 7 1
1 2 5 8 2
2 3 6 9 3
3 1 4 7 4
4 2 5 8 5
5 3 6 9 6
6 1 4 7 7
7 2 5 8 8
8 3 6 9 9
请注意,我们需要使用ignore_index参数来忽略索引,这将创建一列从零开始的新索引。
总结
Pandas中的列合并和列组合是非常简单的。我们可以使用“+”运算符将两列合并成一个列,或使用concat方法将多列组合成一个列。这些操作实际上是非常有用的,使我们更容易地处理和分析数据。
极客教程