当前位置: 首页 > 知识库问答 >
问题:

通过整数索引选择一行pandas系列/数据表

程天佑
2023-03-14
In [26]: df.ix[2]
Out[26]: 
A    1.027680
B    1.514210
C   -1.466963
D   -0.162339
Name: 2000-01-03 00:00:00

In [27]: df[2:3]
Out[27]: 
                  A        B         C         D
2000-01-03  1.02768  1.51421 -1.466963 -0.162339

我希望df[2]的工作方式与df[2:3]相同,以符合Python索引约定。不支持按单个整数索引行是否有设计原因?

共有1个答案

齐鸿光
2023-03-14

回应@Hyry,见0.11中的新文档

http://pandas.pydata.org/pandas-docs/stable/indexing.html

这里我们有新的运算符,.iloc到explicity只支持整数索引,.loc到explicity只支持标签索引

In [1]: df = pd.DataFrame(np.random.rand(5,2),index=range(0,10,2),columns=list('AB'))

In [2]: df
Out[2]: 
          A         B
0  1.068932 -0.794307
2 -0.470056  1.192211
4 -0.284561  0.756029
6  1.037563 -0.267820
8 -0.538478 -0.800654

In [5]: df.iloc[[2]]
Out[5]: 
          A         B
4 -0.284561  0.756029

In [6]: df.loc[[2]]
Out[6]: 
          A         B
2 -0.470056  1.192211
 类似资料:
  • 问题内容: 我很好奇,为什么不支持,而与这两个工作。 我希望以与Python索引约定一致的方式进行工作。有设计上的原因不支持按单个整数索引行吗? 问题答案: 回显@HYRY,请参阅0.11中的新文档 http://pandas.pydata.org/pandas- docs/stable/indexing.html 在这里,我们有了新的运算符,以显式支持仅整数索引,并且显式仅支持标签索引 例如,想

  • 基于单个值/标签的切片 基于一个或多个级别的多个标签的切片 布尔条件和表达式的过滤 哪些方法适用于什么情况 为简单起见的假设: 输入数据表没有重复的索引键 下面的输入数据只有两个级别。(此处所示的大多数解决方案都概括为N个级别) 问题2b 我如何获得级别“二”中对应于“t”和“w”的所有值? 如何从检索横截面,即具有索引特定值的单行?具体来说,如何检索的横截面,由 如何选择与和相对应的两行?

  • 是否有任何方法可以在数据框中按索引(即整数)选择行,按列名选择列? 我尝试使用loc,但它返回一个错误,我知道iloc只适用于索引。 这是数据帧df的第一行。我愿意选择第一行,名为“Volume”的列,并尝试使用df.loc[0,'Volume']

  • 问题内容: 我有一个包含很多列的数据框。现在,我只想选择某些列。我将要选择的所有列名称保存到Python列表中,现在我想根据该列表过滤数据框。 我一直在尝试做: 其中list包含我要选择的所有列名。 但是我得到了错误: 任何帮助吗? 问题答案: 您可以删除一个: 也最好使用其他名称,例如: 看起来工作正常,我只尝试简化一下: :

  • 假设是一个数据帧。 只接受名字 只接受整数(实际放置) 接受名称和整数: 当引用行时,只希望获得名称。例如 抛出一个错误,它不会返回“2”。 当引用列时,iloc更喜欢整数,而不是名称。例如 返回“三”,而不是2。(尽管返回)。 奇怪的是,我喜欢完全相反的功能。通常我的列名非常有意义,所以在我的代码中我直接引用它们。但是由于大量的观察清理,我的熊猫数据帧中的行名称通常不对应于。 我意识到我可以使用

  • 问题内容: 例如,假设一个简单的数据框 给定条件,如何检索行的索引值?例如: return ,但是我想得到的只是just 。这在以后的代码中给我带来麻烦。 基于某些条件,我想记录满足该条件的索引,然后在它们之间选择行。 我试过了 获得所需的输出 但我明白了 问题答案: 添加起来更容易-使用一个元素选择list的第一个值: 但是,如果某些值不匹配,则会出现错误,因为第一个值不存在。 解决方案是使用与