Compruebe si existe un valor en el índice del marco de datos de pandas

Resuelto Abhi asked hace 10 años • 7 respuestas

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 Trueo Falsever si existe un valor en dfel í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')
Abhi avatar May 09 '14 00:05 Abhi
Aceptado

Esto debería funcionar

'g' in df.index
Guillaume Jacquenot avatar May 08 '2014 18:05 Guillaume Jacquenot

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.indexfunciona 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.levelspor otros niveles.

'a' in df.index.levels[0] # True
'X' in df.index.levels[1] # True

Regístrese df.indexpara ver una tupla de combinación de índice.

('a', 'X') in df.index  # True
('a', 'Y') in df.index  # False
broccoli2000 avatar Apr 08 '2017 17:04 broccoli2000