Estou certo de que existe uma maneira óbvia de fazer isso, mas não consigo pensar em nada liso no momento.
Basicamente, em vez de gerar exceção, gostaria de obter True
ou False
ver se existe um valor no 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)
O que eu tenho trabalhando agora é o seguinte
sum(df.index == 'g')
Respostas:
Isso deve fazer o truque
fonte
n
, em seguida, uma tupla de qualquer comprimento de1..n
pode ser verificado'g' in df.columns
se sua trama de dados foi definida com títulos de coluna em vez de um índice, por exemplo:df = pandas.DataFrame({'test':[1,2,3,4]}, columns=['a','b','c','d'])
Apenas para referência, como era algo que eu estava procurando, você pode testar a presença nos valores ou no índice anexando o método ".values", por exemplo
Acho que a adição de ".values" para obter uma lista simples ou o ndarray faz existir ou as verificações "in" são executadas de maneira mais suave com as outras ferramentas python. Só pensei em jogar isso lá fora para as pessoas.
fonte
in g in df.index
produz verdadeiro ein g in df.index.values
falso. Interessante.O índice múltiplo funciona um pouco diferente do índice único. Aqui estão alguns métodos para o quadro de dados multi-indexado.
in df.index
funciona para o primeiro nível somente ao verificar o valor do índice único.Verifique
df.index.levels
outros níveis.Faça check-in
df.index
para uma tupla de combinação de índice.fonte
com DataFrame: df_data
Eu tentei:
mas:
Tão divertido: D
fonte
isin
não verificará o dtype.df['value'].isin([True]).any()
tente isso, também lhe dará True, porque combina com1
.True -> 1
.fonte
O código abaixo não imprime booleano, mas permite o subconjunto de quadros de dados por índice ... Entendo que essa provavelmente não é a maneira mais eficiente de resolver o problema, mas eu (1) gosto da maneira como lê e (2) você pode facilmente subconectar onde o índice df1 existe no df2:
ou onde o índice df1 não existe no df2 ...
fonte