首页 > 解决方案 > 为什么在使用 pandas 数据框时可以使用方括号来同时引用列标签和行索引?

问题描述

我有一个数据框 ( df),其中日期作为索引和列标签。我可以通过df['2008':]引用索引来获取数据帧的一部分,但我一直认为您必须首先指定列,例如df[:]['2008':],我只是想了解为什么会这样?引用具有相同名称的索引或列时,这可能会导致问题吗?

标签: pythonpandasdataframe

解决方案


  1. 表格

    df[something]
    

    决定

    1. 一个系列(来自一),如果某物是一列的名称,
    2. (选定的)数据框,如果某物列名列表,或者
    3. 选定的数据框,如果某物列表或一系列True/False值。

    例子:

    1. df["column1"]
    2. df[["column1", "column5"]]
    3. df[[True, False, True]] # assuming your dataframe has exactly 3 rows
  2. 表格

    df[row(s), column(s)]
    

    row(s)第一,column(s)第二)在row(s)col(s)
    的交集处选择一个单元格。

    为了安全起见,不要使用这种形式,而是使用显式形式

    df.loc[row(s), column(s)]
    

    确定row(s)col(s)通过他们的标签(与他们从零开始的订单号相反)。


推荐阅读