Python 为包含';的行切片数据帧';使用熊猫
这可能是一个愚蠢的问题,但它让我疯狂了一段时间。 我正在尝试为特定列中包含“.”的行分割数据帧。它适用于其他条件,但不知何故适用于“.”我无法获得所需的输出: 我尝试了以下代码:Python 为包含';的行切片数据帧';使用熊猫,python,pandas,dataframe,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
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
col1 col2
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
101.200 3
102.300 4
90802 5
100,236 7
col1 col2
100,236 7
有人能给我介绍一下这个问题吗
谢谢。我认为您需要escape
,因为匹配任何字符的特殊正则表达式元字符:
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
很好,谢谢。这对我有用!不客气,天气真好!