pandas 修改 DataFrame 列名
问题:
有一个DataFrame,列名为:[‘
a
′
,
′
a', '
a′,′b’, ‘
c
′
,
′
c', '
c′,′d’, ‘$e’]
现需要改为:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
有何办法?
import pandas as pd
df = pd.DataFrame({‘
a
′
:
[
1
]
,
′
a': [1], '
a′:[1],′b’: [1], ‘
c
′
:
[
1
]
,
′
c': [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)
>>> map(lambda x:x[1:],('$a', '$b', '$c', '$d', '$e'))
<map object at 0x0000000001E77BE0>
>>> list(map(lambda x:x[1:],('$a', '$b', '$c', '$d', '$e')))
['a', 'b', 'c', 'd', 'e']
参考:https://www.cnblogs.com/hhh5460/p/5816774.html