kol*_*811 10 python numpy pandas
我一直在尝试使用名称列表更改pandas数据帧的列名.正在使用以下代码:
df.rename(columns = list_of_names, inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是我每次都收到一个类型错误,并显示一条错误消息" list object is callable ".我想知道为什么会这样?我该怎么做才能解决这个问题?谢谢您的帮助.
如果您需要rename(l您的姓名列表需要更改为)
df.rename(columns=dict(zip(df.columns,l)))
Run Code Online (Sandbox Code Playgroud)
set_axis要设置列名称,请set_axis使用axis=1or axis='columns':
df = df.set_axis(list_of_names, axis=1)
Run Code Online (Sandbox Code Playgroud)
请注意,默认axis=0设置索引名称。
df.columns直接修改呢?接受的答案很好并且经常使用,但set_axis有一些优点:
set_axis允许方法链接:
df.some_method().set_axis(list_of_names, axis=1).another_method()
Run Code Online (Sandbox Code Playgroud)
对比:
df = df.some_method()
df.columns = list_of_names
df.another_method()
Run Code Online (Sandbox Code Playgroud)
set_axis理论上应该比直接修改属性提供更好的错误检查,尽管我目前找不到具体的示例。