доступ к конкретным столбцам в фрейме данных, индекс определяется как idxmax () - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть строка данных, к которой я хотел бы получить доступ к определенным столбцам.Индекс для этой строки указывается с помощью команды idxmax.

    idx_interest=(df['colA']==matchingstring).idxmax()

Используя этот индекс, я хочу получить доступ к определенным столбцам, а именно colB и colD для df @ index = idx_interest

    df.loc[idx_interest,['colB','colD']].reset_index().values.tolist()

однако, это дало мне ошибку: невозможно выполнить сокращение для гибкого типа.Как мне получить доступ к столбцам индекса df @, заданного командой idxmax>

1 Ответ

0 голосов
/ 29 сентября 2018

Сначала необходимо правильно применить фильтр к вашему фрейму данных df, чтобы вернуть idx_interest.Если ваш исходный фрейм данных является MultiIndex, помните, что он вернет кортеж:

idx_interest = df[df['colA']==matchingstring].idxmax()

Теперь, когда у вас есть idx_interest, вы можете ограничить ваш фрейм данных нужными столбцами и затем вызвать .iloc() для указания индекса строки:

df[['colB','colD']].iloc[idx_interest].values.tolist()

Приведенный выше код также будет работать при условии, что idx_interest возвращает int:

df.loc[idx_interest,['colB','colD']].reset_index().values.tolist()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...