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