我只想获取括号内的文本,并将此文本保留在同一列中。
我有以下数据框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/