我正在查看一个如下所示的电子邮件发件人数据列:
from_name
----------
Joe Smith, VP at Corp
Alice Brown
None
Helpdesk, McRay's Store
Run Code Online (Sandbox Code Playgroud)
从这里,我想生成一个这样的列:
title_if_any
-------------
VP at Corp
None
None
McRay's Store
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
email_data['title_email_sender'] = email_data[email_data.from_name.isnull() == False][email_data.from_name.apply(lambda x: ',' in x)].from_name.apply(lambda x: x.split(',')[1])
Run Code Online (Sandbox Code Playgroud)
但是这会产生以下错误:
----> 2 email_data['title_email_sender'] = email_data[email_data.from_name.isnull() == False][email_data.from_name.apply(lambda x: ',' in x)].from_name.apply(lambda x: x.split(',')[1])
TypeError: argument of type 'NoneType' is not iterable
Run Code Online (Sandbox Code Playgroud)
我的第一个选择不应该删除所有NoneTypes吗?我怎样才能实现我想要的并解决上述问题?
谢谢!
你可以做str.split():
In[53]:df['title_if_any']=df.from_name.str.split(',',expand=True)[1]
In[54]:df
Out[54]:
0 VP at Corp
1 None
2 None
3 McRays Store
Name: 1, dtype: object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |