我有一个没有标题的csv文件,带有日期时间索引。我想重命名索引和列名,但使用df.rename()只重命名列名。缺陷我的版本是0.12.0
[2]on
:df=pd.read\u csv(r'D:\Data\DataTimeSeries\u csv//seriesm.csv',header=None,parse\u dates=[0]],index\u col=[0])
At[3]on:df.head()
Output[3]:
1.
0
2002-06-18 0.112000
2002-06-22 0.190333
2002-06-26 0.134000
2002-06-30 0.093000
2002-07-04 0.098667
At[4]on:df.rename(索引={0:'Date'},列={1:'SM'},inplace=True)
At[5]on:df.head()
Output[5]:
性虐待
0
2002-06-18 0.112000
2002-06-22 0.190333
2002-06-26 0.134000
2002-06-30 0.093000
2002-07-04 0.098667
rename方法为应用于索引值的索引使用字典
要重命名为索引级别的名称:
df.index.names=['Date']
考虑这一点的一个好方法是,列和索引是同一类型的对象(index或MultiIndex),您可以通过转置来交换这两个对象。
这有点令人困惑,因为索引名与列具有类似的含义,所以这里还有一些示例:
[1]on
:df=pd.DataFrame([1,2,3],[4,5,6]),columns=list('ABC'))
In[2]:df
Output[2]:
A、B、C
0 1 2 3
1 4 5 6
At[3]on:df1=df.set_索引('A'))
In[4]:df1
Output[4]:
公元前
A.
1 2 3
4 5 6
您可以在索引上看到重命名,它可以更改值1:
[5]on
:df1.rename(索引={1:'a'})
Output[5]:
公元前
A.
a 23
4 5 6
At[6]on:df1.rename(列={'B':'BB'})
Output[6]:
BBC
A.
1 2 3
4 5 6
重命名级别名称时:
[7]on
:df1.index.names=['index']
df1.columns.names=['column']
注意:此属性只是一个列表,您可以将其重命名为列表/映射
[8]on
:df1
Output[8]:
B列和C列
指数
1 2 3
4 5 6