bet*_*eta 6 python split pandas
我有一个包含(除了其他列)全名的pandas数据框:
fullname
martin master
andreas test
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,它沿着空格分割fullname列,并将最后一个元素分配给一个新列.结果应如下所示:
fullname lastname
martin master master
andreas test test
Run Code Online (Sandbox Code Playgroud)
我以为它会像这样工作:
df['lastname'] = df['fullname'].str.split(' ')[-1]
Run Code Online (Sandbox Code Playgroud)
但是,我得到了一个 KeyError: -1
我使用[-1],这是拆分组的最后一个元素,以确保我得到真正的姓氏.在某些情况下(例如像安德烈·马丁大师这样的名字),这有助于获得姓氏,即主人.
那我该怎么做呢?
EdC*_*ica 10
您需要另一个str访问每行的最后一个拆分,您所做的主要是尝试使用不存在的标签索引该系列:
In [31]:
df['lastname'] = df['fullname'].str.split().str[-1]
df
Out[31]:
fullname lastname
0 martin master master
1 andreas test test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |