【发布时间】:2014-06-26 00:21:07
【问题描述】:
我有一个如下所示的 DataFrame:
Full Partial
ABCDEFGHIJKLMNOPQRSTUVWXYZ FGHIJKL
ANLHDFKNADHFBAKHFGBAKJFB FKNADH
JABFKADFNADKHFBADHBFJDHFBADF ABFKA
我想要做的是将Full 中与Partial 不匹配的所有内容都用小写字母,产生以下内容:
Coverage
abcdef_GHIJKL_mnopqrstuvwxyz
anlhd_FKNADH_fbakhfgbakjfb
j_ABFKA_dfnadkhfbadhbfjdhfbadf
我该怎么做?我环顾四周,似乎series.str.extract() 可能是一个解决方案,但我不确定何时尝试这样做:
df['Full'].str.extract(data['Partial'])
...它只是说 Series 不能是可散列的。我假设extract 只接受一个参数,而不是一个系列?有没有办法绕过这个? extract 甚至是实现我正在寻找的正确方法,还是有其他方法?我想我也许可以找到一些方法来提取字符串索引并执行以下伪代码:
df['Coverage'] = data['Full'][:start].lower() + '_' + data['Partial'] + \
'_' + data['Full'][End:].lower()
... 其中Start 和End 分别是data['Partial'] 开始和结束位置的索引。想法?
【问题讨论】:
标签: python string python-3.x pandas match