gpt4 book ai didi

python - 用于提取十进制数的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:42 26 4
gpt4 key购买 nike

我有一个 pandas df,其中一列是带有 X/10 格式评级的文本。我想提取分子(可以是小数)。到目前为止,我使用的是:

my_df.text_column.str.extract('(\d*?\.?\d+(?=/10))')

我以为我做得很好,直到我看到我有一些像 .10 这样的分子。实际发生的情况是某些行包含如下文本:“Nice job.10/10”。

从该列中提取数字时如何指定,以防它检测到“.”它一定是在一个数字之后?

谢谢。

最佳答案

做:

df.text.str.extract(r'(\d+\.?\d*?(?=/10))')

您想首先查找一个数字 (\d+),然后是一个可选的 (\.?) 和一个可选的小数 (\d*? )

例子:

df = pd.DataFrame({'text':["Nice Job.10/10", "Score 9.5/10", "And now 5./10"]})
df.text.str.extract(r'(\d+\.?\d*?(?=/10))')



0
0 10
1 9.5
2 5.

关于python - 用于提取十进制数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com