Python 数据帧行切片不一致

Python 数据帧行切片不一致,python,pandas,Python,Pandas,我有一个名为data的DataFrame变量,大约有6 mil行,我想一次处理50行。我有以下代码: #Only 4001 for debugging purposes for i in range(0,4001,50): print(str(i) + " - " + str(i+49)) current_batch = data["text"].loc[i:(i+49)] print("Batch size: " + st

我有一个名为
data
DataFrame
变量,大约有6 mil行,我想一次处理50行。我有以下代码:

#Only 4001 for debugging purposes
for i in range(0,4001,50):
  print(str(i) + " - " + str(i+49))
  current_batch = data["text"].loc[i:(i+49)]
  print("Batch size: " + str(len(current_batch.tolist())))
然而,似乎获得的切片长度不是50行。事实上,它们似乎是随机的(尽管每次我重新运行程序时,它们都保持一致。第一个总是34,然后总是48等等…)。以下是一个示例输出:

0 - 49
Batch size: 34
50
Batch size: 48
...
这是数据帧类的预期行为吗?

这就是使用
loc
时发生的情况。这就是使用iloc时发生的情况:


也许您的数据帧索引有漏洞?尝试使用
iloc
而不是
loc
,按位置而不是索引进行切片。我同意@Arne+1.重置索引并重试循环(或使用iloc)