熊猫最大数量的位置

我有一个pandas数据框,我想检索该数据框中最大值的位置(行,列)。我该怎么办?

jsftgkafgjag 回答:熊猫最大数量的位置

示例:

df = pd.DataFrame({

         'B':[4,5,4,4],'C':[7,8,9,2,3],'D':[1,3,7,1,0],'E':[5,6,})

首先,必要时仅获取DataFrame.select_dtypes的数字:

df = df.select_dtypes(np.number)

要在DataFrame中返回第一个最大值,请使用DataFrame.stackSeries.idxmax

print (df.stack().idxmax())
(2,'C')

如果性能很重要,则可以通过将最大值与numpy.where进行比较来获取索引,并通过索引来获取第一值:

r,c = np.where(df == df.values.max())
print ((df.index[r[0]],df.columns[c[0]]))
(2,'C')

如果需要所有最大值:

s = df.stack()
print (s.index[s == s.max()].tolist())
[(2,'C'),(3,'E')

print (list(zip(df.index[r],df.columns[c])))
[(2,'E')]
本文链接:https://www.f2er.com/3158897.html

大家都在问