为什么出现以下错误?符号
s1.iloc[:,0].min()
代表什么?
import pandas as pd
import numpy as np
s1 = pd.Series(np.random.rand(5), index=list(range(0, 10, 2)))
s1.iloc[:,0].min()
Traceback (most recent call last):
File "<ipython-input-324-b57fa06dca84>", line 1, in <module>
s1.iloc[:,0].min()
File "C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1325, in __getitem__
return self._getitem_tuple(key)
File "C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1662, in _getitem_tuple
self._has_valid_tuple(tup)
File "C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexing.py", line 188, in _has_valid_tuple
raise IndexingError('Too many indexers')
IndexingError: Too many indexers
答案 0 :(得分:2)
系列(pd.Series
)对象是一维的。它由一个类似数组的项容器和索引组成。
因此,与任何一维数组一样,只允许一个索引。
对于系列的最小值,请使用s1.min()
。
语法x.iloc[:, 0].min()
用于x
是数据框(pd.DataFrame
)的位置。换句话说,它用于计算所有行中第一列的最小值。