Pandas系列无法获取索引
不知道这里出了什么问题…我想要的只是本系列中的第一个也是唯一的元素
>>> a1 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