2 回答

TA贡献1942条经验 获得超3个赞
在链式方法调用中,了解可以set_index使用不存在的标签调用的技巧可能会很有用,只要将要设置的标签包装在另一个列表中即可。
>>> df.set_index([[1, 2, 3, 4]])
a b
1 1 2
2 2 3
3 3 4
4 4 5
>>>
>>> df.set_index([['w', 'x', 'y', 'z']])
a b
w 1 2
x 2 3
y 3 4
z 4 5
我真的不知道为什么会这样。查看set_index我最好的猜测的文档,这是创建只有一个级别的多索引的特殊情况,就像文档中的最后一个示例
df.set_index([[1, 2, 3, 4], 'year'])
但省略了第二个元素'year'。

TA贡献1807条经验 获得超9个赞
你可以传递任何你想要的df.index,如果它是一个与你的数据帧长度相同的集合:
df.index = range(1,5)
>>> df
a b
1 1 2
2 2 3
3 3 4
4 4 5
df.index = ['this', 'is', 'an', 'index']
>>> df
a b
this 1 2
is 2 3
an 3 4
index 4 5
此外,如果只是向原始索引添加一个的问题,您可以使用就地+运算符:
>>> df
a b
0 1 2
1 2 3
2 3 4
3 4 5
>>> df.index += 1
>>> df
a b
1 1 2
2 2 3
3 3 4
4 4 5
添加回答
举报