我有一个xls,标题行为:
AZ-Phoenix CA-Los Angeles CA-San Diego YEAR PHXR LXXR SDXR January 1987 59.33 54.67 77 February 1987 59.65 54.89 78 March 1987 59.99 55.16 79
注意:第一行上面没有名称" YEAR列"。如何将此行的名称设置为YEAR?
I have tried : data_xls = data_xls.rename(columns={data_xls.columns[0]: 'YEAR'})
但它正在用YEAR取代AZ-Phoenix排。我真的无法改变我想要的专栏。
如何更改此行??
答案 0 :(得分:1)
YEAR不是专栏,这是一个索引。
尝试:
[hidden]=" category === 'Select a Category'"
或:
df.index.name = 'foobar'
在这种情况下,YEAR将成为普通列,您可以重命名它。
答案 1 :(得分:1)
如果您粘贴的文本是Excel文件的格式,如下所示:
你可以通过以下几种方式解决这个问题:
您可以假装这两行是多级索引:
df = pandas.read_excel('test.xlsx', header=[0,1])
这会生成一个DataFrame,您可以像这样编制索引:
df['AZ-Phoenix']
导致
YEAR PHXR
1987-01-01 59.33
1987-02-01 59.65
1987-03-01 59.99
如果第一行实际上是多余的(似乎机场已经由三个字母的机场代码唯一定义,其中R加了),你可以在导入时忽略该行并得到一个&#34 ;更平坦"数据帧:
df_flat = pandas.read_excel('test.xlsx', skiprows=1, index_col=0)
这为您提供了可以通过机场代码索引的内容:
df_flat.PHXR
给出
YEAR
1987-01-01 59.33
1987-02-01 59.65
1987-03-01 59.99
Name: PHXR, dtype: float64
答案 2 :(得分:0)
使用rename_axis
df.rename_axis('YEAR',1).rename_axis('YEAR',0) # change YEAR to whatever you need for rename :)
Out[754]:
YEAR value timestamp
YEAR
0 1 2017-10-03 14:33:52
1 Water 2017-10-04 14:33:48
2 1 2017-10-04 14:33:45
3 1 2017-10-05 14:33:30
4 Water 2017-10-03 14:33:40
5 Water 2017-10-05 14:32:13
6 Water 2017-10-04 14:32:01
7 1 2017-10-03 14:31:55