更改数据框的列名称后出现关键错误

时间:2019-10-05 08:02:01

标签: python pandas dataframe

我从网站上获得了一个数据框,并将前几行用作Date。它向我显示了一个带有Yr_Mn_Dy的Df,但是它看起来并不好,所以我想将其更改为Dates


df = pd.read_csv('https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/06_Stats/Wind_Stats/wind.data', sep='\s+', parse_dates = [[0,1,2]] )
df.head()

    Yr_Mo_Dy    RPT ... BEL MAL
0   2061-01-01  15.04   ... 18.50   15.04
1   2061-01-02  14.71   ... 17.54   13.83
2   2061-01-03  18.50   ... 12.75   12.71
3   2061-01-04  10.58   ... 5.46    10.88
4   2061-01-05  13.33   ... 12.92   11.83

我一一使用了2种不同的方法

1. df.rename(columns= {'Yr_Mo_Dy': 'Dates'})  # it does not work. it is not changing the columns names to Dates

and 

2. df.columns.values[0]='Dates'  # it changes the values when used with df.head() but throws Key error for Dates

1。为什么第一种方法不更改值并重命名列?

2。即使使用第二种方法更改了值,为什么还会引发Dates键错误?

1 个答案:

答案 0 :(得分:1)

第一种方法可以更改列名,在我的计算机上效果很好,

请注意,它不会更改原始数据框,而是返回一个新的数据框,以使更改永久生效,

df.rename(columns= {'Yr_Mo_Dy': 'Dates'},inplace=True)

第二种方法也可以使用,它不会引发Dates Key错误。