我正在尝试Pandas中的set_index()方法,但是我得到了一个我无法解释的异常:
df
movieId title genres
1 2 Jumanji (1995) Adventure|Children|Fantasy
5 6 Heat (1995) Action|Crime|Thriller
10 11 American President, The (1995) Comedy|Drama|Romance
df.set_index(['a' , 'b' , 'c'], inplace = True)
df
KeyError: 'a'
您的建议将不胜感激。
答案 0 :(得分:0)
如果希望通过嵌套list
(双[]
)设置索引,其长度与df相同:
df.set_index([['a' , 'b' , 'c']], inplace = True)
print (df)
movieId title genres
a 2 Jumanji (1995) Adventure|Children|Fantasy
b 6 Heat (1995) Action|Crime|Thriller
c 11 American President The (1995) Comedy|Drama|Romance
如果使用list
([]
)pandas,请尝试将a,b,c
列设置为MultiIndex
,因为不存在错误。
所以如果想按列设置索引:
df.set_index(['movieId' , 'title'], inplace = True)
print (df)
genres
movieId title
2 Jumanji (1995) Adventure|Children|Fantasy
6 Heat (1995) Action|Crime|Thriller
11 American President The (1995) Comedy|Drama|Romance