pandas行切片有值存在的情况下结果为空

这是我试着进行行切片的代码

import pandas as pd
file=pd.DataFrame({'编号':[1001,1002,1003,1004,1003],
                   '姓名':['张三','李四','王五','牛马','王五'],
                   '语文':['93','','95','99','95'],
                   '数学':['','50','75','75','75']},
                  index=None)
print(file[1001:1003])

但是结果变成这样
Empty DataFrame
Columns: [姓名, 语文, 数学]
Index: []
这是为什么明明是有值存在的?

是按列表下标计数的:

import pandas as pd
file=pd.DataFrame({'编号':[1001,1002,1003,1004,1003],
                   '姓名':['张三','李四','王五','牛马','王五'],
                   '语文':['93','','95','99','95'],
                   '数学':['','50','75','75','75']},
                  index=None)
print(file[0:5])
 
 

img

如果想获取想要的结果,使用这样语句:
print(file[(1001<=file['编号'])&(file['编号']<=1003)])