我认为自己是中级python程序员的初学者。我感到惊讶的是,我没有找到一个简单的解决方案,我的问题谷歌。我试图在python dataframe的所有列中替换多个字符串的列表。我做了笔直前进的路(下面),它工作得很好。
df.columns=df.columns.str.replace('.', '')
df.columns=df.columns.str.replace(' ','')
df.columns=df.columns.str.replace('(','_')
df.columns=df.columns.str.replace(')','')我希望减少行数,并在一行中编码所有内容,比如当我试图替换一个句子中的多个字符串时,如何使用多个.replace()。为了前夫,
txt = 'welcome to metaverse_'
txt.replace('w', 'W').replace('m', 'M').replace('_', '!')
out : 'WelcoMe to Metaverse!'我是否可以减少重复的代码,只需用一行来替换所有列中的多个字符串?
注意:我有10s的列,而不是所有的列都有我想替换的所有字符串。
提前谢谢。
发布于 2022-01-26 19:01:26
tr_dict = {'.': '', ' ': '', '(': '_', ')': ''}
df.columns=df.columns.str.translate(df.columns.str.maketrans(tr_dict))发布于 2022-01-26 19:09:46
您可以尝试使用替换字典,但由于要替换一些“特殊”正则表达式字符,您需要转义它们
df = df.replace({'\\.':'',' ':'','\\(':'_','\\)':''}, regex=True)https://stackoverflow.com/questions/70868814
复制相似问题