Pandas替换所有列名中的字符

5tmbdcev  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(100)

我有一些 Dataframe ,其列名(来自.csv文件)包含(),我想将它们替换为_
我如何在所有列中执行此操作?

hgb9j2n6

hgb9j2n61#

使用str.replace

df.columns = df.columns.str.replace("[()]", "_", regex=True)

样品名称:

df = pd.DataFrame({'(A)':[1,2,3],
                   '(B)':[4,5,6],
                   'C)':[7,8,9]})

print (df)
   (A)  (B)  C)
0    1    4   7
1    2    5   8
2    3    6   9

df.columns = df.columns.str.replace(r"[()]", "_", regex=True)
print (df)
   _A_  _B_  C_
0    1    4   7
1    2    5   8
2    3    6   9
91zkwejq

91zkwejq2#

旧版本的pandas不适用于上面接受的答案。需要这样的东西:

df.columns = [c.replace("[()]", "_") for c in list(df.columns)]
f45qwnt8

f45qwnt83#

方括号用于划分要提取的字符范围。例如:

r"[Nn]ational"

将提取两个职业,其中我们有“国家”和“国家”,即它提取N或n。

相关问题