这可能是一个愚蠢的问题,但它让我疯狂一段时间了。 我试图将我的数据帧切片为包含'。'的行。在一个特定的专栏中。它适用于其他条件但不知何故为'。'我没有得到所需的输出:
我尝试过以下代码:
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
有人可以指导我解决这个问题。
感谢。
答案 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