python - pandas str.extract 方法如何从我的列表中返回更多匹配项?
问题描述
我在熊猫系列对象中有这样的行:
['Blazic M.', 'Boli F.', 'Botka E.', 'Civic E.', 'Dibusz D. (K)', 'Kharatin I.', 'N. Tokmac', 'Otigba K.', 'Sigér D.', 'Vécsei B.', 'Zubkov O.']`
它是一个 <class 'str'>
我希望 .str.extract('[\w,]') 只匹配字母字符和逗号,但我只得到所有行的第一个字母。我在哪里犯了错误?
这是我的完整代码: import pandas as pd
df = pd.read_csv('output.csv', encoding='latin', names=['Csapat','Játékosok'])
jatekosok = df['Játékosok'].str.extract('[\w,]')
print(jatekosok)
这是我在提取之前使用的原始系列:
0 ['Blazic M.', 'Boli F.', 'Botka E.', 'Civic E....
1 ['Berecz Zs.', 'Cseri T.', 'Farkas D.', 'Jurin...
2 ['Deutsch L.', 'Gyurcsó Á.', 'Hadzhiev K.', 'K...
3 ['Batik B.', 'Gazdag D.', 'George M.', 'Hidi P...
4 ['Adeniji T.', 'Bényei B.', 'Ferenczi J.', 'Ki...
...
391 ['Böde D.', 'Fejes A.', 'Fejõs Á.', 'Hahn J.',...
392 ['Cseri T.', 'Farkas D.', 'Karnitskiy A.', 'Ka...
393 ['Babati B.', 'Barczi D.', 'Bedi B.', 'Demjén ...
394 ['B. Pauljevic', 'Burekovic D.', 'Koszta M.', ...
395 ['Hadzhiev K.', 'Hegedûs L. (K)', 'Henty E.', ...
解决方案
您可以使用findall
:
>> pd.Series(['Blazic M., 123 Boli F.']).str.findall('([a-zA-Z,])')
0 [B, l, a, z, i, c, M, ,, B, o, l, i, F]
dtype: object
推荐阅读
- django - 如何使用模板更新模型字段?
- shinydashboard - 浏览器中的文本比应用程序模式大得多
- vim - 在 vimtutor 中执行 :r TEST 时如何解决奇怪的行为?
- swift - IndexSet 指的是节的索引而不是行的索引
- python - IE浏览器中的Django Rest API端点405错误
- hadoop - 使用窗口函数计算 Hive 中的滚动每周支出
- java - 使用 androidx Orchestrator 的 Android Instrumentation 测试部分失败
- python - 为什么我的功能没有在“返回”行停止?
- git - 从 Android Studio 推送到 git 将所有项目项目推送到 github 存储库
- jquery - 为什么此下拉列表超出窗口