首页 > 解决方案 > 当 locs 存在且数据存在时,df.iloc 返回空

问题描述

我试图通过使用基于索引的行位置来简单地获取 df 的子集。但是,出于某种原因,有时以下代码会返回一个空数据框:

idx1 = 12105 # Get first index of interest
idxn = 12120  # Get last index of interest

print('idx1:',idx1)
print('idxn:',idxn)

rep = dist.iloc[idx1:idxn] # Get data between indexes of interest
print(rep)

“dist”数据框(“Frame”是索引):

dist =
Frame   dist
12094   8.523
12095   9.776
12096  11.028
12097  12.105
12098  13.239
12099  14.354
12100  15.510
12101  16.620
12102  17.690
12103  18.777
12104  19.838
12105  20.795
12106  21.783
12107  22.878
12108  23.782
12109  24.686
12110  25.595
12111  26.485
12112  27.254
12113  28.067
12114  28.816
12115  29.558
12116  30.316
12117  30.925
12118  31.497
12119  32.100
12120  32.791
12121  33.308
12122  33.841
12123  34.440

输出:

idx1: 12105
idxn: 12120
Empty DataFrame
Columns: [dist]
Index: []

我一生都无法理解为什么会发生这种情况。

标签: pythonpandas

解决方案


尝试这个

dist = dist.reset_index(name="Frame")
dist.iloc[idx1:idxn]

推荐阅读