Проверьте, существует ли значение в индексе фрейма данных 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