熊猫系列无法获取索引

发布于 2021-01-29 15:05:09

不知道这里出了什么问题…我想要的只是本系列中的第一个也是唯一的元素

>>> 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

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

关注者
0
被浏览
102
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

    由于索引类型是对象,因此可以进行以下操作:

    a = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
    
    a
    Out: 
    a    1
    b    2
    c    3
    dtype: int64
    
    a[0]
    Out: 1
    

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

    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看