【问题标题】:How can pandas str.extract method returns more match from my list? [duplicate]pandas str.extract 方法如何从我的列表中返回更多匹配项? [复制]
【发布时间】:2021-04-05 00:53:06
【问题描述】:

我在熊猫系列对象中有这样的行:

['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.']`

它是一个

我希望 .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.', ...

【问题讨论】:

  • 您可以尝试使用extractall() 代替extract 或使用str.findall()

标签: python regex pandas


【解决方案1】:

你可以使用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

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2019-08-28
    • 2017-02-20
    • 2010-11-12
    • 2022-01-17
    • 1970-01-01
    • 2019-03-02
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多