我认为最近版本的更改会导致对idxmax()的调用失败--在这种情况下,它以前曾经工作过。我并不是说这是一种倒退,我只是想了解原因和发出的正确呼吁。
type(sss)
<class 'pandas.core.series.Series'>
sss.dtype
dtype('O')
type(sss.index)
<class 'pandas.core.indexes.base.Index'>
sss.index=Index([...strings.., dtype'object', length=112)serie中的单个列具有带有多个NaN的数字类型,以及一些有效的数字。所有索引都是字符串。我正在搜索列的最大值的索引。
我怎么才能得到呢?
发布于 2018-04-10 17:11:37
我不能在熊猫上复制0.19.2。您可以转换为float,然后使用pd.Series.idxmax
df = pd.DataFrame({'A': [0, 1.5, 1.0, np.nan, np.nan, 54, 19, np.nan]}, dtype=object,
index=list('abcdefgh'))
res = df['A'].astype(float).idxmax() # 'f'发布于 2018-04-10 17:15:20
备选方案一
s.index[np.argmax(s.tolist())]备选案文二
max(s.index, key=s.get)数字演示
s = pd.Series([0, 8, 4, 3], list('WXYZ'), object)
s
W 0
X 8
Y 4
Z 3
dtype: objects.index[np.argmax(s.tolist())]
'X'max(s.index, key=s.get)
'X'字符串演示
s = pd.Series(list('5Z4A'), list('ABCD'), object)
s
A 5
B Z
C 4
D A
dtype: objects.index[np.argmax(s.tolist())]
'B'max(s.index, key=s.get)
'B'https://stackoverflow.com/questions/49759346
复制相似问题