python - 将列值拆分为 2 个新列 - Python Pandas

标签 python pandas

我有一个包含“名称”列的数据框。具有像“詹姆斯卡梅隆”这样的值(value)观。我想将其拆分为 2 个新列“First_Name”和“Last_Name”,但数据中没有分隔符,所以我不太确定如何操作。我知道“James”在位置 [0],“Cameron”在位置 [1],但我不确定如果没有分隔符,您是否能识别出这一点

df = pd.DataFrame({'name':['James Cameron','Martin Sheen'],
               'Id':[1,2]})
df

编辑:

对于我提供的数据框,Vaishali 在下面的回答非常有效。不过,我创建了该数据框作为示例。我的真实代码是这样的”

data[['First_Name','Last_Name']] = data.director_name.str.split(' ', expand = True)

不幸的是,这是一个错误:

'Columns must be same length as key'

尽管该列包含与我的示例相同的值。有什么建议吗?

谢谢

最佳答案

空间分割

df[['Name', 'Lastname']] = df.name.str.split(' ', expand = True)

    Id  name            Name    Lastname
0   1   James Cameron   James   Cameron
1   2   Martin Sheen    Martin  Sheen

编辑:处理错误“列的长度必须与键的长度相同”。数据的某些名称可能有多个空格,例如:George Martin Jr。在这种情况下,一种方法是按空格拆分并使用第一个和第二个字符串,如果存在第三个则忽略它

df['First_Name'] = df.name.str.split(' ', expand = True)[0]
df['Last_Name'] = df.name.str.split(' ', expand = True)[1]

关于python - 将列值拆分为 2 个新列 - Python Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206962/

相关文章:

python - 如何在Python中具有不同项目数的列之间找到相同的索引?

python - pandas:重命名多索引 df 中的列标签

python - 如何管理 pandas 数据框中的特殊字符\r

python - 基于列删除重复行 MySQL

python - 即使我安装了请求的 MovieWriter (ffmpeg) 也不可用

Python:从Thread调用时解密失败或错误记录mac

python - redis - 使用哈希

python - 如何使用特定库创建 conda 环境?

python - Pandas:如何创建多索引枢轴

python-3.x - 使用定制的距离函数从 Pandas Dataframe 创建距离矩阵