pandas 系列无法获取索引 [英] pandas series can't get index

查看:955
本文介绍了 pandas 系列无法获取索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不确定这是什么问题...我想要的只是该系列中的第一个也是唯一的元素

not sure what the problem is here... all i want is the first and only element in this series

>>> a
1    0-5fffd6b57084003b1b582ff1e56855a6!1-AB8769635...
Name: id, dtype: object

>>> len (a)
1

>>> type(a)
<class 'pandas.core.series.Series'>

>>> a[0]

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    a[0]
  File "C:\Python27\lib\site-packages\pandas\core\series.py", line 601, in __getitem__
    result = self.index.get_value(self, key)
  File "C:\Python27\lib\site-packages\pandas\core\indexes\base.py", line 2477, in get_value
    tz=getattr(series.dtype, 'tz', None))
  File "pandas\_libs\index.pyx", line 98, in pandas._libs.index.IndexEngine.get_value (pandas\_libs\index.c:4404)
  File "pandas\_libs\index.pyx", line 106, in pandas._libs.index.IndexEngine.get_value (pandas\_libs\index.c:4087)
  File "pandas\_libs\index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas\_libs\index.c:5126)
  File "pandas\_libs\hashtable_class_helper.pxi", line 759, in pandas._libs.hashtable.Int64HashTable.get_item (pandas\_libs\hashtable.c:14031)
  File "pandas\_libs\hashtable_class_helper.pxi", line 765, in pandas._libs.hashtable.Int64HashTable.get_item (pandas\_libs\hashtable.c:13975)
KeyError: 0L

为什么这样不起作用?以及如何获得第一个元素?

why isn't that working? and how do get the first element?

推荐答案

当索引为整数时,您将无法使用位置索引器,因为选择将是模棱两可的(应该基于标签还是位置返回?).您需要显式使用a.iloc[0]或传递标签a[1].

When the index is integer, you cannot use positional indexers because the selection would be ambiguous (should it return based on label or position?). You need to either explicitly use a.iloc[0] or pass the label a[1].

由于索引类型是对象,因此以下操作有效:

The following works because the index type is object:

a = pd.Series([1, 2, 3], index=['a', 'b', 'c'])

a
Out: 
a    1
b    2
c    3
dtype: int64

a[0]
Out: 1

但是对于整数索引,情况有所不同:

But for integer index, things are different:

a = pd.Series([1, 2, 3], index=[2, 3, 4])

a[2]  # returns the first entry - label based
Out: 1

a[1]  # raises a KeyError
KeyError: 1

这篇关于 pandas 系列无法获取索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆