创建一个类以删除Python中的特殊字符

时间:2018-11-16 05:21:48

标签: python python-3.x class

我想编写一个类,该类可以从我想要的数据帧的任何列中删除特殊字符。例如,假设我有下表中的数据:

Column A | Column B
?a?      | ?b?

我想退货:

Column A | Column B
  a      | b

我尝试编写一个类,以便可以从数据中选择的每一列中删除特殊字符。例如,如果我要删除“?”从A列开始,我希望能够针对该特定列执行此操作。

class a():

    def __int__(self, col):
        self.col = col 

    def remove_char(self,col):
        for i, col in enumerate(df.col):
            df.iloc[:, i] = df.iloc[:, i].str.replace('?', '')
        return san_col


p = a()

san_data = p.remove_apost(df)

我收到一条错误消息,指出:

'NameError:名称'san_col'未定义'

我对此较新,因此将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题在于您永远都不会定义san_col变量。

所以要解决它,(也要使其更好):

class a:
    def __init__(self,df):
        self.df=df
    def remove_char(self):
        return self.df.replace('\?','',regex=True)

然后将其命名为:

p = a(df)
print(p.remove_char())