📅  最后修改于: 2023-12-03 15:39:14.428000             🧑  作者: Mango
在 Pandas 中,有时我们需要将一个包含多个信息的列中的信息拆分到不同的列中,以便更好地进行分析。这个问题可以使用 Pandas 的 str.split()
方法来解决。
假设我们有一列包含两个信息,分别是名称和姓氏,用空格分开。我们需要将这个列拆分成两列,一列是名称,一列是姓氏。
首先,我们将使用 Pandas 的 read_csv()
方法从 CSV 文件中读取数据,然后选择要拆分的列。
import pandas as pd
# 读取 CSV 文件
data = pd.read_csv('data.csv')
# 选择要拆分的列
names = data['Name'].str.split(expand=True)
此时,names
变量将包含两列,一列是名称,一列是姓氏。 expand=True
参数将使输出更加规范,并且每个部分都在其自己的列中。
接下来,我们将将拆分的结果添加回到原始数据框中。Pandas 的 concat()
方法可以将两个数据框连接在一起。
# 将结果添加回到原始数据框中
data = pd.concat([data, names], axis=1)
# 删除原始数据中的 Name 列
data.drop('Name', axis=1, inplace=True)
# 重命名新的列
data.rename(columns={0: 'First Name', 1: 'Last Name'}, inplace=True)
最终,我们将得到一个新的数据框,其中包含两个新的列,即第一个名称和第二个名称。
下面是完整的代码:
import pandas as pd
# 读取 CSV 文件
data = pd.read_csv('data.csv')
# 选择要拆分的列
names = data['Name'].str.split(expand=True)
# 将结果添加回到原始数据框中
data = pd.concat([data, names], axis=1)
# 删除原始数据中的 Name 列
data.drop('Name', axis=1, inplace=True)
# 重命名新的列
data.rename(columns={0: 'First Name', 1: 'Last Name'}, inplace=True)
# 显示数据框
print(data.head())