我创建了一个基于字母D、E、F的系列,并以这种方式在每行中插入0到9的值:
df = pd.DataFrame({'letters': list('DDDDDDDDDDEEEEEEEEEEFFFFFFFFFF'), 'numbers': [0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9]})
Output:
letters numbers
0 D 0
1 D 1
2 D 2
....
9 D 9
10 E 0
.....
18 E 8
19 E 9
20 F 0
......
28 F 8
29 F 9
然后我用这段代码在这个Df上创建了多索引(我想检查这是正确的方法还是有其他方法来创建多索引)
latestone = df.set_index(['letters', 'numbers'],drop=False)
output:
letters numbers
letters numbers
D 0 D 0
1 D 1
....
9 D 9
E 0 E 0
1 E 1
...
9 E 9
F 0 F 0
1 F 1
...
9 F 9
基于这一点,或者是否有更好的方法来创建多索引,我想知道这些值是否按字典顺序排序(如果可能的话,是真还是假)。你知道吗
另外,我想得到索引为[2,5,7]的行作为字母E
要创建索引对象,
pd.MultiIndex.from_product
在您的情况下会更容易。然后,您可以使用该索引创建一个包含您需要的任何值的数据帧。你知道吗这不会改变顺序,但它是按照您定义的顺序。使用
sort_index
方法根据索引进行排序。您可以指定应首先对哪个级别进行排序。你知道吗您想知道的一件事是值是否已排序。不,值没有排序。它们看起来完全是按安排的。你知道吗
要获取行
[2,5,7]
,可以使用:或者
相关问题 更多 >
编程相关推荐