熊猫拆分功能给出重复的系列



我有泰坦尼克号数据集,我想使用pandas.str.split函数从人们的名字中提取标题。

>>> data.Title = data.Name.str.split('[,.]').str.get(1)
>>> data.Title

这导致以下结果,看起来很好:

0           Mr
1          Mrs
2         Miss
3          Mrs
4           Mr
5           Mr
6           Mr
7       Master
8          Mrs
...
Name: Name, Length: 1309, dtype: object

似乎每一行只有字符串,它是MrMrs或其他任何东西。但是如果我只索引一行,它会显示这个

>>> data.Name.str.split('[,.]').str.get(1)[0]
0     Mr
0     Mr
Name: Name, dtype: object

我不知道为什么会发生这种情况,我也无法过滤数据帧:

data.Title == 'Mr'
0      False
1      False
2      False
3      False
4      False
5      False
6      False
7      False
8      False
...
data.Name.str.split('[,.]').str.get(1)[0]

表示选择所有带有index == 0的行。如果重复的索引获得更多行。

所以有必要创建唯一的索引:

 data = data.reset_index(drop=True)

对于第二个问题,有跟踪空格,因此有必要通过strip删除它们:

data.Title = data.Name.str.split('[,.]').str.get(1).str.strip()

一起:

data = data.reset_index(drop=True)
data.Title = data.Name.str.split('[,.]').str.get(1).str.strip()

最新更新