返回max&的实际指数值来自Pandas Dataframe列的最小值

时间:2018-05-22 09:29:21

标签: python python-3.x pandas dataframe

如何打印/返回特定值的索引?

movies_per_year = pd.DataFrame(movies_per_year)
movies_per_year.columns = ["count"]
print(movies_per_year)

        count
year       
1891      1
1893      1
1894      2
1895      2
1896      2
1898      5

在这里,我的指数是。我想返回count为1的所有索引。此外, movies_per_year.max()会返回 5 。因此,它应该返回 1898

1 个答案:

答案 0 :(得分:4)

np.where() - 返回满足给定条件的元素的位置索引:

In [31]: np.where(df['count'] == 1)[0]
Out[31]: array([0, 1], dtype=int64)

In [35]: np.nonzero(df['count'] == 1)
Out[35]: (array([0, 1], dtype=int64),)

如果您需要真正的索引值(标签)而不是其位置:

In [40]: df.index[df['count'] == 1]
Out[40]: Int64Index([1891, 1893], dtype='int64', name='year')

查找最大元素的索引:

In [32]: df['count'].idxmax()
Out[32]: 1898