【发布时间】:2016-09-28 08:00:31
【问题描述】:
我的数据框的列名(来自 .csv 文件)包含 ( 和 ),我想用 _ 替换它们。
我怎样才能为所有列做到这一点?
【问题讨论】:
我的数据框的列名(来自 .csv 文件)包含 ( 和 ),我想用 _ 替换它们。
我怎样才能为所有列做到这一点?
【问题讨论】:
使用str.replace:
df.columns = df.columns.str.replace("[()]", "_")
示例:
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"[()]", "_")
print (df)
_A_ _B_ C_
0 1 4 7
1 2 5 8
2 3 6 9
【讨论】:
df.columns = df.columns.astype(str).str.replace("[()]", "_")
'[ ]' 用于"[()]" 部分?我试过了,它不起作用。你能告诉我[ ] 在这种情况下做了什么吗?
()
旧版 pandas 不适用于上述已接受的答案。需要这样的东西:
df.columns = [c.replace("[()]", "_") for c in list(df.columns)]
【讨论】:
方括号用于划分要提取的字符范围。例如:
r"[Nn]ational"
将提取我们有“国家”和“国家”的两个出现,即它提取 N 或 n。
【讨论】: