Compruebe si existe un valor en el índice del marco de datos de pandas
Estoy seguro de que hay una forma obvia de hacer esto, pero no se me ocurre nada ingenioso en este momento.
Básicamente, en lugar de generar una excepción, me gustaría obtener True
o False
ver si existe un valor en df
el índice de pandas.
import pandas as pd
df = pd.DataFrame({'test':[1,2,3,4]}, index=['a','b','c','d'])
df.loc['g'] # (should give False)
Lo que tengo funcionando ahora es lo siguiente
sum(df.index == 'g')
Aceptado
Esto debería funcionar
'g' in df.index
El índice múltiple funciona de manera un poco diferente al índice único. A continuación se muestran algunos métodos para marcos de datos con índices múltiples.
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
funciona para el primer nivel solo cuando se verifica el valor de índice único.
'a' in df.index # True
'X' in df.index # False
Consultar df.index.levels
por otros niveles.
'a' in df.index.levels[0] # True
'X' in df.index.levels[1] # True
Regístrese df.index
para ver una tupla de combinación de índice.
('a', 'X') in df.index # True
('a', 'Y') in df.index # False