如何使用Pandas更改Excel工作表的列名?

时间:2019-07-03 10:33:05

标签: python pandas jupyter-notebook

我在Excel工作表中有一列名为“%”的列。我想将其重命名为“百分比”,以便可以执行其他操作,例如标记和百分比之间的折线图或散点图。

我尝试使用重命名命令。它正在工作,但是并没有永久更改列名。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

new_data = pd.read_csv("Test Data.csv")
new_data.columns

输出为:

Index(['S. No.', 'Enrollment No.', 'Name', 'CLASS', '%', 'Marks'], dtype='object')

此代码:

new_data.rename(columns = {"%":"Percentage"})

new_data.Percentage.plot(kind = "line", color = "g", alpha = 0.5, grid = True, label = "Percentage", linewidth = 2, linestyle = ":")
new_data.Marks.plot(color = "black", alpha = 0.5, grid = True, label = "Marks", linewidth = 2, linestyle = "-.")
plt.xlabel("Marks")
plt.ylabel("Percentage")
plt.show()

还会引发错误:

AttributeError: 'DataFrame' object has no attribute 'Percentage'

3 个答案:

答案 0 :(得分:2)

尝试使用excel文件:

dataframe = pd.read_excel(file, header=None, skiprows=1, names=['abc','def'])

将csv从pd.read_excel更改为pd.read_csv

答案 1 :(得分:0)

就像anky_91所说:默认情况下,重命名返回一个具有新名称的新数据框:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rename.html

您可以重新分配数据框:

new_data = new_data.rename(columns = {"%":"Percentage"})

或者您可以就地设置为True

new_data.rename(columns = {"%":"Percentage"}, inplace=True)

答案 2 :(得分:0)

您在inplace=True命令行上忘记了new_data.rename(columns = {"%":"Percentage"})参数。