python - 为什么在使用 pandas 数据框时可以使用方括号来同时引用列标签和行索引?
问题描述
我有一个数据框 ( df
),其中日期作为索引和列标签。我可以通过df['2008':]
引用索引来获取数据帧的一部分,但我一直认为您必须首先指定列,例如df[:]['2008':]
,我只是想了解为什么会这样?引用具有相同名称的索引或列时,这可能会导致问题吗?
解决方案
表格
df[something]
决定
- 一个系列(来自一列),如果某物是一列的名称,
- (选定列的)数据框,如果某物是列名列表,或者
- 选定行的数据框,如果某物是列表或一系列
True
/False
值。
例子:
df["column1"]
df[["column1", "column5"]]
df[[True, False, True]] # assuming your dataframe has exactly 3 rows
表格
df[row(s), column(s)]
(
row(s)
第一,column(s)
第二)在row(s)和col(s)
的交集处选择一个单元格。为了安全起见,不要使用这种形式,而是使用显式形式
df.loc[row(s), column(s)]
确定
row(s)
和col(s)
通过他们的标签(与他们从零开始的订单号相反)。
推荐阅读
- django - Django form.isValid() 在自定义用户模型中总是返回 false
- spring - 春季批处理后数据库会话仍然打开
- php - 为什么yii dropdownList中只能正确post一个const?
- python - 计算满足条件的行数,并为每一行分配一个从 1 到 nRows 的数字 pandas
- html - 将图像合并到 XSL+XML
- tabs - 带有实例注释的 Jupyter 实验室选项卡
- android - 包有 UID -1
- php - PhpStorm IDE 错误后缺少 Symfony/Twig 的模板设置页面
- c++ - LNK2019 cuda::cvtColor 和 cuda::equalizeHist
- oracle - 使用复合主键合并到表中