Python 索引未自然排序的数据帧中的数据行
我有一个从另一个数据帧采样的数据帧,因此它的行顺序不会一个接一个地递增:Python 索引未自然排序的数据帧中的数据行,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我有一个从另一个数据帧采样的数据帧,因此它的行顺序不会一个接一个地递增: col1 col2 14 info1 info2 25 info3 info3 46 info5 info6 和一个索引对象: Int64Index([ 273, 447, 1073, 1079, 1416, 1757, 1786, 2072, 2389, 2657, ... 3664
col1 col2
14 info1 info2
25 info3 info3
46 info5 info6
和一个索引对象:
Int64Index([ 273, 447, 1073, 1079, 1416, 1757, 1786, 2072,
2389, 2657,
...
366433, 366457, 366472, 367458, 367971, 368195, 368505, 369282,
369402, 371835],
dtype='int64', length=737)
我需要根据数据帧中的索引对象选择行,但是,
.loc
似乎没有像我预期的那样工作,因为当我使用df.iloc[Int64Index]
时,会出现越界错误。如果我只从index对象中选择一个整数,比如273,我发现选择的是数据帧中的第273行,而不是顺序为273的行。看起来索引中有空格。您可以这样做:
df.loc[' 273']
你在这里说的是
loc
还是iloc
loc
强制使用明确定义的索引值进行索引和切片,因此使用df。loc[273]
将为您提供名为273
的索引行iloc
使用隐式索引,即独立于您在索引中输入的内容的“ith”元素(例如“Paris”、“London”或偶数:273、2、4等)。您的索引似乎是空白的,如果这对您来说无关紧要,您可以通过执行df.reset_index(drop=True)
(drop
如果要删除前一个索引列)