首页 > 解决方案 > 数据框行切片不一致

问题描述

我有一个DataFrame名为 ~ 6 百万行的变量data,我想一次处理 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
...

这是DataFrame班级的预期行为吗?

标签: pythonpandas

解决方案


在此处输入图像描述

这就是您使用loc. 这就是您使用时会发生的情况iloc

在此处输入图像描述


推荐阅读