python - 如何提取列表中的名字

标签 python regex pandas dataframe

嗨,我正在使用下面的代码打印用户名列表:

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)

有人可以帮我吗? 谢谢。

最佳答案

不需要explode,我将使用expand=True.str.split:

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

关于python - 如何提取列表中的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64761899/

相关文章:

java - Java中具有可变长度零宽度lookbehind的正则表达式

java - 在字符串中搜索单词

python 正则表达式——按非单词字符或连续破折号拆分,但不按单个破折号拆分

python - 在机器学习中使用三种不同的标签

python - 在Python中提取文本特征的最佳方法是什么

python - 使用自己的函数优化 groupby.apply

python - 什么时候在 Python 中使用方法级联?

python - sklearn kneighbours内存错误python

python - 正确执行 fftshift 和 ifftshift 的顺序(在 python 中)

python - 来自 Geopandas GeoDataFrame 的 Choropleth map