如何洗掉包含 @ / ] [ } { - _ 等特殊字符的 pandas 資料框列?
例如,我有以下資料框(稱為df):

我需要洗掉這些列Name,Matchkey因為它們包含一些特殊字符。另外,如何根據將洗掉的列指定特殊字串列?
例如:我想洗掉包含(在任何記錄、任何單元格中)以下任何特殊字符的列:
listOfSpecialCharacters: ?,`,!,",£,$,£,#,/,\
uj5u.com熱心網友回復:
一種選擇是使用帶有str.containsand的正則運算式apply,然后使用布爾索引來洗掉列:
import re
chars = '?`!"£$£#/\\'
regex = f'[{"".join(map(re.escape, chars))}]'
# '[?`!"£\\$£\\#/\\\\]'
df2 = df.loc[:, ~df.apply(lambda c: c.str.contains(regex).any())]
例子:
# input
A B C
0 123 12! 123
1 abc abc a?b
# output
A
0 123
1 abc
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/456667.html
