我在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'
答案 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"})
参数。