【问题标题】:How to extract first name in list如何提取列表中的名字
【发布时间】:2021-02-21 23:28:13
【问题描述】:

您好,我正在使用以下代码打印出用户名列表:

df1 = pd.DataFrame({'Username':commentor_list})
df1.assign(Username=df1.Username.str.split(",")).explode('Username')

但是,一些用户名会输出额外的信息,如下所示:

Alice (10 videos / 58 subscribers)
Bob
Charles (20 videos / 28 subscribers)
Diana

我想提取名字得到

Alice 
Bob
Charles 
Diana

我尝试使用下面的代码,以及 '[\S]' 和 '[\w] ',但没有任何效果。我收到错误“模式不包含捕获组”

df1['Username'] = df1['Username'].str.extract('[?:\S]')
print(df1)

有人可以帮我吗? 谢谢。

【问题讨论】:

    标签: python regex pandas dataframe


    【解决方案1】:

    不需要explode,我会用expand=True.str.split

    df1['Username'] = df1['Username'].str.split(" ",expand=True)[0]
    

    【讨论】:

    • 其实我还有一个问题——如果有人的名字是艾莉森丽莎詹姆斯,我怎么能把这些都打印出来?
    • 如果是这种情况,请在括号中拆分:df1['Username'] = df1['Username'].str.split("(",expand=True)[0]
    • 感谢您这么快回复我!我真的很感谢你的帮助。这行得通!
    猜你喜欢
    • 1970-01-01
    • 2022-06-23
    • 2021-11-05
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2021-08-27
    • 2021-07-31
    • 2016-06-08
    相关资源
    最近更新 更多