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

时间:2017-12-21 13:29:29

标签: python pandas dataframe

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

我尝试过以下代码:

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

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

感谢。

1 个答案:

答案 0 :(得分: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