Estoy seguro de que hay una manera obvia de hacer esto, pero no puedo pensar en nada resbaladizo 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 el df
í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 trabajando ahora es lo siguiente
sum(df.index == 'g')
Respuestas:
Esto debería funcionar
fuente
n
, entonces1..n
se puede verificar una tupla de cualquier longitud'g' in df.columns
si su marco de datos se definió con encabezados de columna en lugar de un índice, por ejemplo:df = pandas.DataFrame({'test':[1,2,3,4]}, columns=['a','b','c','d'])
Solo como referencia, ya que era algo que estaba buscando, puede probar la presencia dentro de los valores o el índice agregando el método ".values", por ejemplo
Encuentro que agregar los ".values" para obtener una lista simple o ndarray hace que existan o que las comprobaciones "in" se ejecuten más fácilmente con las otras herramientas de Python. Solo pensé en tirar eso a la gente.
fuente
in g in df.index
produce verdadero yin g in df.index.values
falso. Interesante.El índice múltiple funciona un poco diferente del índice único. Aquí hay algunos métodos para el marco de datos multi-indexado.
in df.index
funciona para el primer nivel solo cuando se verifica un valor de índice único.Verifica
df.index.levels
otros niveles.Regístrese
df.index
para obtener una tupla de combinación de índice.fuente
con DataFrame: df_data
Lo intenté:
pero:
Muy divertido: D
fuente
isin
no verificará el tipo de letra.df['value'].isin([True]).any()
prueba esto, también te dará True, porque coincide con1
.True -> 1
.fuente
El siguiente código no imprime booleano, pero permite el subconjunto de marcos de datos por índice ... Entiendo que probablemente esta no sea la forma más eficiente de resolver el problema, pero (1) me gusta la forma en que se lee y (2) puede subconjunto fácilmente donde existe el índice df1 en df2:
o donde el índice df1 no existe en df2 ...
fuente