python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python pandas dataframe重命名相同列名

Python pandas dataframe之重命名相同列名

作者:匆匆喂

这篇文章主要介绍了Python pandas dataframe之重命名相同列名方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python pandas dataframe重命名相同列名

我有pandas dataframe,它有相同的列名。

(列名为a、b、a、a、a) 下面是一个例子:

有没有什么方法可以通过指定列位置来更改第三列的列名?

我发现有一种方法可以通过创建一个新列表来更改列名。

但我想知道是否有任何方法可以指定列位置并更改名称。

下面是我想要的:

解决方案

column_names = df.columns.values
column_names[2] = 'Changed'
df.columns = column_names

pandas:DataFrame列重新命名

1.从文件读取的时候

直接重新命名. pd.read_excel(names=[,])

test1 =pd.read_excel("assets/Energy Indicators.xls",header=None,skiprows=18,usecols=[2,3,4,5],na_value=['...'],names=['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable'])

2.在原有的DataFrame上重新命名

但新列名数量必须和原有的数量一致。

这个适用于列名改动的数量比较少的情况下。

case:

col_name=[name,]
dataframe.columns=col_name

3.修改原有的列中某几个列的名字

这里需要用到字典。

通过字典的方式来将原列名和新列名字匹配起来。

这里用到DataFrame.rename(),inplace表示是否覆盖原有DataFrame

例如:

dataframe里面有十几个列,你只想改其中几个列名,那么用rename是最为便捷的。

dataframe.rename(columns = {"old_name": "new_name"})
dataframe.rename(columns = {"old1": "new1", "old2":"new2"},  inplace=True)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文