gpt4 book ai didi

python - 为什么 str.match 使用正则表达式在 Pandas 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:30 25 4
gpt4 key购买 nike

我们正在尝试提取其列严格包含以下值之一的行 [TC1, TC2, TC3]。诀窍在于某些列还包含以下值 TC12、TC13 等。我们不想提取它们。使用 str.contains 不是这里的选项。

Col_1 Col_2 Col_3
1 A TC1
2 B TC2
3 C TC3
4 D TC12
5 D TC15
6 D TC16

Col_1 Col_2 Col_3
1 A TC1
2 B TC2
3 C TC3

我们使用了以下命令:

df1 = df.loc[df1['Col_3'].str.match("TC\d{1}")]
df1 = df.loc[df1['Col_3'].str.match("TC[1-3]{1}")]
df1 = df.loc[df1['Col_3'].str.match("TC[1,2,3]")]

但是问题是它不起作用。它不返回前 3 列,而是返回所有列。我们不明白为什么它是错误的。

最佳答案

TC\d{1} 将匹配每一列,您需要指定要在行尾停止以仅捕获末尾一位数字的列。您可以使用 $ 字符执行此操作。

TC\d{1}$

关于python - 为什么 str.match 使用正则表达式在 Pandas 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051312/

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