【发布时间】:2018-04-26 18:12:17
【问题描述】:
我想从 pandas 数据框中的列 (Name) 中提取子字符串 (Titles - Mr. Mrs, Miss 等),然后将新列 (Title) 写回数据框中。
在数据框的名称列中,我有一个名称,例如“Brand, Mr. Owen Harris”。两个分隔符是 , 和 。
我尝试使用拆分方法,但这只会将列表中的原始字符串一分为二。所以我仍然在列表中发送['Braund','Mr. Owen Harris']。
import pandas as pd
#import re
df_Train = pd.read_csv('https://docs.google.com/spreadsheets/d/e/2PACX-1vTliZmavBsJCFDiEwxcSIIftu-0gR9p34n8Bq4OUNL4TxwHY-JMS6KhZEbWr1bp91UqHPkliZBBFgwh/pub?gid=1593012114&single=true&output=csv')
a= df_Train['Name'].str.split(',')
for i in a:
print(i[1])
我认为这可能是正则表达式发挥作用的情况。我的阅读表明 Lookahead (?=,) 和 Lookbehind (?
import re
a= df_Train['Name'].str.split(r'(?=,)*(?<='.'))
for i in a:
print(i)
print(i[1])`
但我遇到了错误(扫描字符串文字时 EOL)。有人可以指出我正确的方向吗?
干杯 迈克
【问题讨论】:
标签: python regex string pandas split