Проверьте, существует ли значение в индексе фрейма данных pandas
Я уверен, что есть очевидный способ сделать это, но не могу придумать, что пятно прямо сейчас.
в основном вместо того, чтобы поднимать исключение, я хотел бы получить True или False чтобы увидеть, если значение существует в панд .
df = pandas.DataFrame({'test':[1,2,3,4]}, index=['a','b','c','d'])
df.loc['g'] # (should give False)
то, что я сейчас работаю, это следующее
sum(df.index == 'g')
4 ответа:
просто для справки, поскольку это было то, что я искал, вы можете проверить наличие в значениях или индексе, добавив ".значения " метод, например
g in df.<your selected field>.values g in df.index.valuesЯ считаю, что добавление ".значения "для получения простого списка или ndarray out делает exist или" in " проверки выполняются более гладко с другими инструментами python. Просто подумал, что я мог бы бросить это там для людей.
мультииндекс работает немного отличается от одного индекса. Вот некоторые методы для multi-индексированные таблицы данных.
df = pd.DataFrame({'col1': ['a', 'b','c', 'd'], 'col2': ['X','X','Y', 'Y'], 'col3': [1, 2, 3, 4]}, columns=['col1', 'col2', 'col3']) df = df.set_index(['col1', 'col2'])
in df.indexработает для первого уровня только при проверке одного значения Индекса.'a' in df.index # True 'X' in df.index # FalseРегистрация
df.index.levelsдля других уровней.'a' in df.index.levels[0] # True 'X' in df.index.levels[1] # TrueРегистрация
df.indexдля кортежа комбинации индексов.('a', 'X') in df.index # True ('a', 'Y') in df.index # False