我正在尝试从熊猫数据框中获取多行。
df.iloc[1]
虽然下面的代码遇到错误,但可以用于一行。
df.iloc[1,3,8]
错误
-------------------------------------------------- ---------------------------- IndexingError Traceback(最近的调用 最后)在() ----> 1 df.iloc [1,3,8]
〜/ anaconda3 / envs / tf11 / lib / python3.6 / site-packages / pandas / core / indexing.py 在 getitem (自身,密钥)1323中,除了(KeyError, IndexError):1324通过 -> 1325返回self._getitem_tuple(key)1326 else:1327 key = com._apply_if_callable(key,self.obj)
〜/ anaconda3 / envs / tf11 / lib / python3.6 / site-packages / pandas / core / indexing.py 在_getitem_tuple(self,tup)中1660 def _getitem_tuple(self, tup):1661年 -> 1662 self._has_valid_tuple(tup)1663试试:1664返回self._getitem_lowerdim(tup)
〜/ anaconda3 / envs / tf11 / lib / python3.6 / site-packages / pandas / core / indexing.py 在_has_valid_tuple中(自己,密钥) i,k在枚举(密钥)中为186: 187如果我> = self.obj.ndim: -> 188提高IndexingError('索引过多') 第189回 190 raise ValueError(“基于位置的索引只能有[%s]”
IndexingError:索引器太多
答案 0 :(得分:0)
如果要选择多个索引,则需要将iloc
的索引作为列表提供;试试这个:
df.iloc[[1,3,8]]
这实际上是原始DataFrame的子集,但请注意,该操作不是就地执行的,因此您必须分配结果才能查看反映在原始DataFrame中的更改:
df = df.iloc[[1,3,8]]