在Pandas DataFrame中把一个文本列分成两列

  • Post category:Python

当我们在Pandas DataFrame中操作数据时,有时候需要把一个文本列分成两列。例如,有一个“姓名”列,包含了“姓”和“名”两个部分,我们需要将其分成两个列。

下面是完整的攻略:

首先,我们需要导入Pandas库,准备一份数据来实现这个操作:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五']}
df = pd.DataFrame(data)
print(df)

输出结果:

    姓名
0   张三
1   李四
2   王五

接下来,我们需要利用Pandas中的str方法和split()函数来将“姓名”列分成“姓”和“名”两个列:

df[['姓', '名']] = df['姓名'].str.split(expand=True)
print(df)

输出结果:

    姓名   姓   名
0   张三   张   三
1   李四   李   四
2   王五   王   五

split()函数中,expand=True表示将分割结果转换为DataFrame类型,而[['姓', '名']]则表示将结果分别赋值给“姓”和“名”两个列。

至此,我们已经成功将“姓名”列分成了“姓”和“名”两个列。

当然,如果“姓名”列中存在复杂的分割规则,我们可以根据具体情况使用不同的分割方式来实现操作,例如可以使用正则表达式、自定义函数等方法,以达到我们想要的效果。