pandas使用df.index.name和df.columns.name

时间:2018-04-08 01:52:25

标签: python pandas

假设有一个包含电影评级数据的Panadas DataFrame。

1)有没有办法将user_idmovie_id分配给一个班轮?

2)除了视觉帮助之外,是否有name财产的利益/用途?例如,通过user_id等访问索引。?

import pandas as pd

ratings = pd.DataFrame({0: [3, 1, 5], 1: [2, 2, 4]})
ratings.index.name = 'user_id'
ratings.columns.name = 'movie_id'

enter image description here

2 个答案:

答案 0 :(得分:1)

也许rename_axis

ratings=ratings.rename_axis('movie_id',axis=1).rename_axis('user_id',axis=0)
ratings
Out[53]: 
movie_id  0  1
user_id       
0         3  2
1         1  2
2         5  4

关于你的第二个问题

ratings.eval('user_id')
Out[59]: 
user_id
0    0
1    1
2    2
dtype: int64

当您使用groupby索引时,也可以使用索引名称而不是groupby(level=0)

答案 1 :(得分:0)

这是你的单行:

ratings.index.name, ratings.columns.name = 'user_id', 'movie_id'

老实说,您现有的代码没有任何问题。

name属性可用于许多pandas个功能,例如排序,分组。