我想对值进行以下转换:
对于此类类似问题,请最后为我提供一般的解决方案。谢谢。(这是在Jupyter笔记本中,我不知道如何正确显示代码)
categoric.head()
output:
Name Cabin
0 Braund, Mr. Owen Harris A23
1 Cumings, Mrs. John Bradley (Florence Briggs Th... C85
2 Heikkinen, Miss. Laina C54
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) C123
4 Allen, Mr. William Henry B231
答案 0 :(得分:1)
pandas
具有与Series
的{{3}}相关的整套方法。
客舱要求您切出第一个字母:
categoric.Cabin.str[0]
#0 A
#1 C
#2 C
#3 C
#4 B
要获取标题,您可以使用.str.extract
,将其与所有不同值的捕获组一起使用竖线分隔。由于.
在模式中具有特殊含义,因此需要在其前面加上\
来对其进行转义:
categoric.Name.str.extract('(Mr\.|Mrs\.|Miss\.)')
# 0
#0 Mr.
#1 Mrs.
#2 Miss.
#3 Mrs.
#4 Mr.
答案 1 :(得分:1)
categoric.Name= categoric.Name.apply(lambda x: x.split(', ')[1].split('.')[0])
categoric.Cabin = categoric.Cabin.slice(0,1)