我有一个数据框,其中包含20个左右的列.其中一列称为'director_name',其值为'John Doe'或'Jane Doe'.我想将其拆分为2列,'First_Name'和'Last_Name'.当我运行以下操作时,它按预期工作,并将字符串拆分为2列:
data[['First_Name', 'Last_Name']] = data.director_name.str.split(' ', expand
= True)
data
First_Name Last_Name
John Doe
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是当我在'director_name'下有NULL(NaN)值时,它不起作用.它会引发以下错误:
'Columns must be same length as key'
Run Code Online (Sandbox Code Playgroud)
我想添加一个函数来检查值!= null,然后执行上面列出的命令,否则为First_Name和'Last_Name'输入'NA'
有什么想法我会怎么做?
编辑:
我刚检查了文件,我不确定NULL是否是问题.我有一些长3-4个字符串的名字.即
John Allen Doe
John Allen Doe Jr
Run Code Online (Sandbox Code Playgroud)
也许我不能把它分成First_Name和Last_Name.
Hmmmm
这是一种方法是拆分并选择说出前两个值作为名字和姓氏
Id name
0 1 James Cameron
1 2 Martin Sheen
2 3 John Allen Doe
3 4 NaN
df['First_Name'] = df.name.str.split(' ', expand = True)[0]
df['Last_Name'] = df.name.str.split(' ', expand = True)[1]
Run Code Online (Sandbox Code Playgroud)
你得到
Id name First_Name Last_Name
0 1 James Cameron James Cameron
1 2 Martin Sheen Martin Sheen
2 3 John Allen Doe John Allen
3 4 NaN NaN None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |