Pandas系列无法获取索引

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

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

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

回答:

当索引为整数时,您将无法使用位置索引器,因为选择将是模棱两可的(应基于标签还是位置返回?)。您需要明确使用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

以上是 Pandas系列无法获取索引 的全部内容, 来源链接: utcz.com/qa/433854.html

回到顶部