我有一个看起来像这样的df:
id col1
1 [[[[[[['metal', 'soundtracks'], 'jazz'], 'indie'], 'hiphop'], 'rock'], 'pop'], 'electronic']
如果存在字符[
,我想应用我的逻辑。我该怎么做?
我尝试过:
df['col1'].str.contains('[').any()
但出现错误:
error: unterminated character set
还尝试了以下组合:
df['col1'].str.contains("[").any()
df['col1'].str.contains("'['").any()
df['col1'].str.contains('"["').any()
所有错误都相同。
我已经确认相关列的dtype为object
我的目标是扫描符号[
并应用我的逻辑来清理数据。
if df['col1'].str.contains('[').any():
my logic
也尝试像这样将列强制设置为字符串,但得到相同的答案:
df.col1 = df.col1.astype(str)
编辑:
尝试过:
如果df ['col1']。str.contains('[',regex = False).any()==真:
my logic
else:
print('all good')
即使存在字符,我在if
语句中也得到了错误的答案
答案 0 :(得分:2)
存在问题[
是特殊的正则表达式字符,因此必要的参数regex=False
也是如此:
df['col1'].str.contains('[', regex=False).any()
或通过\
转义值:
df['col1'].str.contains('\[').any()