假设,我有一个带有多索引的数据帧,如下所示:
In [1]:d=pnd.DataFrame(range(5),index=pnd.MultiIndex.from_tuples([('A',1),('A',2),('A',3),('A',4),('A',5)]))
In [2]: d
Out[2]:
0
A 1 0
2 1
3 2
4 3
5 4
我可以通过子集创建另一个数据帧:
^{pr2}$但是这个新DataFrame的index对象与原始DataFrame中的index对象相同(包含“levels”中的所有原始项)。在
In [5]: p.index
Out[5]:
MultiIndex(levels=[[u'A'], [1, 2, 3, 4, 5]],
labels=[[0, 0, 0], [0, 1, 2]])
如何复制一个子集,它不“记住”原始数据帧的索引对象?在
我需要这样做的原因是因为我的一些函数访问index对象来获取元数据,而索引从原始数据帧中继承的事实混淆了这些函数。在
如果不关心子集中索引的顶层,可以设置
或者,如果您想保留多重索引并只重置级别,可以调用
^{pr2}$set_levels
:相关问题 更多 >
编程相关推荐