重命名数据帧索引

我有一个没有标题的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']

考虑这一点的一个好方法是,列和索引是同一类型的对象(indexMultiIndex),您可以通过转置来交换这两个对象。

这有点令人困惑,因为索引名与列具有类似的含义,所以这里还有一些示例:

[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

发表评论