我有一个熊猫MultiIndexed熊猫数据框。我想找到(数字,整数)索引之一的最大值。
也就是说,索引的范围是1到5844。我希望能够找到标量值5844。
我意识到我可以设置标量变量,因为我知道索引采用的值,但是我想在不知道最大值的情况下能够找到最大值。
答案 0 :(得分:0)
如果您知道索引从1到5844不丢失,那么Ctrl + Shift + D
有用。
答案 1 :(得分:0)
您可以将多重索引转换为框架,然后获取数据框架列的最大值:
scalar = df.index.to_frame[i].max()
但是最简单的方法可能是获取适当水平的最大值:
scalar = df.index.levels[i].max()
答案 2 :(得分:0)
可能的解决方案是在索引上使用.max()
方法。在这种情况下,它将返回MultiIndex的每个级别中的值,可能不是您想要的值。还要注意,.max()
将按字母顺序返回值,这意味着对于层次结构的每个级别,它将找到该级别中按字母顺序表示的最高值,然后在该第一组的下一级别中查找下一个最高值。
>>> tuples = [('bar', 1),
('bar', 10),
('baz', 11),
('baz', 14),
('foo', 15),
('foo', 16),
('qux', 17),
('qux', 5844)]
>>> index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
>>> index.max()
('qux', 5844)
在这种情况下,qux
在文学上是最高的,在MultiIndex的下一层(17
和5844
)中,5844
是{{ 1}}分组。
如果需要调整方法,则可以通过以下方式选择MultiIndex的特定级别。在这种情况下,由于整数处于由索引qux
标识的级别中,因此我们可以使用以下方法:
1
如果您的整数处于不同级别,则只需更改级别括号中的索引即可。