📅  最后修改于: 2023-12-03 15:37:25.580000             🧑  作者: Mango
在 Pandas 中,我们可以使用 str
类型的方法将从 DataFrame 的列中取出的字符串进行拆分。
str.split()
方法针对一个列中包含每个元素包含不同子元素的情况,我们可以使用 str.split()
方法将其拆分成不同的列。
示例代码如下:
import pandas as pd
data = {'Name': ['John_Adam', 'Jane_Jacob', 'Emily_Ryan'],
'Score': [98, 80, 95]}
df = pd.DataFrame(data)
# 将 'Name' 列使用 '_' 进行拆分
df[['First_Name', 'Last_Name']] = df['Name'].str.split('_', expand=True)
# 展示新的 DataFrame
print(df)
输出结果如下:
Name Score First_Name Last_Name
0 John_Adam 98 John Adam
1 Jane_Jacob 80 Jane Jacob
2 Emily_Ryan 95 Emily Ryan
以上代码将 'Name' 列中的字符串使用 '_' 进行拆分,并且将拆分后的结果存储在新的两列 'First_Name' 和 'Last_Name' 中。
除了使用固定的字符作为分割符,我们还可以使用正则表达式进行拆分。
示例代码如下:
import pandas as pd
data = {'Name': ['John_Adam,123', 'Jane_Jacob,246', 'Emily_Ryan,135'],
'Score': [98, 80, 95]}
df = pd.DataFrame(data)
# 将 'Name' 列使用 ',' 进行拆分
df[['First_Name', 'Last_Name', 'ID']] = df['Name'].str.extract('(\w+)_(\w+),(\d+)')
# 展示新的 DataFrame
print(df)
输出结果如下:
Name Score First_Name Last_Name ID
0 John_Adam,123 98 John Adam 123
1 Jane_Jacob,246 80 Jane Jacob 246
2 Emily_Ryan,135 95 Emily Ryan 135
以上代码相比方法1多了一个 'ID' 列,使用正则表达式可以更灵活地进行拆分和匹配。
通过以上两种方法,我们可以将 DataFrame 中的行拆分为多列,以便更好地对数据进行处理和分析。在实际应用中,我们可以根据具体的业务需求选择使用不同的分割方式和方法来对数据进行处理。