Возврат фактического значения индекса значений max и min из столбца Pandas Dataframe - PullRequest
0 голосов
/ 22 мая 2018

Как мне напечатать / вернуть индекс определенного значения?

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

Здесь мой индекс - год .Я хочу вернуть все индексы, где количество равно 1 .Кроме того, movies_per_year.max () возвращает 5 .Итак, он должен вернуть 1898 .

1 Ответ

0 голосов
/ 22 мая 2018

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...