为包含'。'的行切片数据帧用熊猫

问题描述 投票:2回答:1

这可能是一个愚蠢的问题,但它现在让我疯狂了一段时间。我试图将我的数据帧切片为包含'。'的行。在一个特定的专栏中。它适用于其他条件但不知何故为'。'我没有得到所需的输出:

我试过以下代码:

d = {'col1': ['101.200', '102.300','90802','100,236'], 'col2': [3, 4,5,7]}
ff = pd.DataFrame(data=d)
ff

输出:

col1    col2
101.200 3
102.300 4
90802   5
100,236 7

当我用'。'切片时:

a = ff[ff['col1'].str.contains('.')]

输出:

col1    col2
101.200 3
102.300 4
90802   5
100,236 7

但是当我使用','时,同样的事情会按预期工作。

a = ff[ff['col1'].str.contains(',')]

输出:

col1    col2
100,236 7

有人可以指导我解决这个问题。

谢谢。

python pandas dataframe
1个回答
4
投票

我认为你需要逃脱.,因为特殊的正则表达式字符匹配任何字符:

a = ff[ff['col1'].str.contains('\.')]

或者设置regex=False不读取.作为regex

a = ff[ff['col1'].str.contains('.', regex=False)]
print (a)

      col1  col2
0  101.200     3
1  102.300     4
© www.soinside.com 2019 - 2024. All rights reserved.