python - 从 pandas 数据框列中获取括号周围的文本并将输出复制到同一列

标签 python regex

我只想获取括号周围的文本并将该文本保留在同一列中。

我有以下数据框 df:

id     feature
1      mutation(MI:0118)
2      mutation(MI:0119)
3      mutation(MI:01120)

预期输出是:

id     feature
1      MI:0118
2      MI:0119
3      MI:01120

我尝试了以下正则表达式,但它不允许我将其复制到同一列。

df['feature'] = df['feature'].str.extract(r"\((.*?)\)", expand=False)

我收到以下警告,上面的代码将功能列中的所有值转换为 NaN

/home/lib/python2.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  """Entry point for launching an IPython kernel.

谢谢

最佳答案

尝试使用以下具有不同模式的代码:

df['feature'] = df['feature'].str.extract('.*\((.*)\).*', expand=False)
print(df)

输出:

   id   feature
0   1   MI:0118
1   2   MI:0119
2   3  MI:01120

Regex101

关于python - 从 pandas 数据框列中获取括号周围的文本并将输出复制到同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59928101/

相关文章:

python - Pandas 中的逻辑多重索引

Python 服务器 : Chrome Extension SSL certificate

python - issubclass() 对从不同路径导入的同一类返回 False

c# - 查找字符串中最后一位数字的正则表达式是什么?

Python:如何将字符串 'ub' 添加到字符串中每个发音的元音前?

linux - python - 如何将错误重定向到/dev/null?

python - 使用 pandas 中的查询函数返回位于两个列表交集的行

javascript - 正则表达式 - 匹配除单个数字之外的所有字母数字字符

regex - 城市字段需要哪些标点符号?

python - 简单 python 正则表达式中的可选分组