Pandas-正确地按整数轴上的位置和另一轴上的标签进行索引(以避免连锁赋值)。[英] Pandas - properly indexing by position on integer axis and label on the other (to avoid chained assignment)

本文是小编为大家收集整理的关于Pandas-正确地按整数轴上的位置和另一轴上的标签进行索引(以避免连锁赋值)。的处理方法,想解了Pandas-正确地按整数轴上的位置和另一轴上的标签进行索引(以避免连锁赋值)。的问题怎么解决?Pandas-正确地按整数轴上的位置和另一轴上的标签进行索引(以避免连锁赋值)。问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我知道 pandas 提供:

  1. .ix - 混合标签和位置索引(主要是标签),如果索引是整数 - 它将被解释为标签
  2. .loc - 按标签显式索引
  3. .iloc - 按位置显式索引

这很酷.

一次性按标签(ala .loc)索引列和按位置(ala .iloc)索引行以避免链式分配的正确方法是什么?最好避免 reset_index().

举个例子,假设DataFrame如下df:

   col1  col2  col3
3     1     4     2
2     2     3     3
4     3     2     1
1     4     1     4

pandas 有没有类似 some_indexer 的东西,其行为如下?

In[2]: df.some_indexer[2,'col2':'col3']
Out[2]:
col2    2
col3    1
Name: 4, dtype: object

谢谢!

推荐答案

我知道这是一个老问题,但这确实可以在不使用链式索引或使用 reset_index() 的情况下完成.您只需要在 .loc 索引器中使用 df.index[2].

df.loc[df.index[2],'col2':'col3']

这也适用于分配.

本文地址:https://www.itbaoku.cn/post/1727865.html