Python 位置索引

Python 位置索引,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,这是一个数据帧: bacteria = pd.DataFrame( { 'bacteria_counts': [632, 1638, 569, 115], 'other_feature': [438, 833, 234, 298] }, index=['Firmicutes', 'Proteobacteria', 'Actinobacteria', 'Bacteroidetes']) 这里有一个问题,如果我使用细菌[2:3],它会返回:

这是一个数据帧:

bacteria = pd.DataFrame(
    {
        'bacteria_counts': [632, 1638, 569, 115],
        'other_feature': [438, 833, 234, 298]
    },
    index=['Firmicutes', 'Proteobacteria', 'Actinobacteria', 'Bacteroidetes'])

这里有一个问题,如果我使用
细菌[2:3]
,它会返回:


[2:3]
代表什么?行和列?(只需开始学习位置索引)

对于熊猫,一般的切片语法如下:

[start row: up to but not including row , start column: up to but not including column]
这就是为什么在你的例子中,看到你没有提供一个列参数,你只得到了索引中第三项的行。事实上,如果不使用更高级的切片方法,如果您尝试使用当前策略选择列,则可能会得到回溯


然而,大多数熊猫切片都是使用.iloc和.loc进行的。你应该看看这些文件

如果可能,尝试将
.iloc()
与数据帧一起使用;-)这是doc:和另一个有趣的链接;你的意思是标准格式将是
[行:行,列:列]
,对吗?因为我没有为列部分提供参数,所以它返回所有列,对吗?是的,但请帮自己一个忙,查看.iloc、.loc和.at。不要使用.ix,因为它已被弃用。谢谢,只是查询一下,当我尝试
bacteria[2:3,1:2]
时,它返回错误:
TypeError:“(slice(2,3,None),slice(1,2,None))”是无效键
,这是因为需要使用更高级的.iloc或.loc方法,例如bacteria.iloc[2:3,1:2]。