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)