pandas 修改 DataFrame 列名

问题
有一个DataFrame,列名为:['$a', '$b', '$c', '$d', '$e']
现需要改为:['a', 'b', 'c', 'd', 'e']
有何办法?

import pandas as pd
df = pd.DataFrame({'$a': [1], '$b': [1], '$c': [1], '$d': [1], '$e': [1]})

解决

方式一:columns属性

# ①暴力
df.columns = ['a', 'b', 'c', 'd', 'e']

# ②修改
df.columns = df.columns.str.strip('$')

# ③修改
df.columns = df.columns.map(lambda x:x[1:])

方式二:rename方法、columns参数

# ④暴力(好处:也可只修改特定的列)
df.rename(columns=('$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True) 

# ⑤修改
df.rename(columns=lambda x:x.replace('$',''), inplace=True)
posted @ 2016-08-29 09:42  罗兵  阅读(202315)  评论(4编辑  收藏  举报