Gostaria de saber se há possibilidade de utilizar um split como argumento dos slices no DataFrame. ex:
df =
![]( ) |
selecao = 'l1 c2'.split()
['l1','c2']
df.loc[selecao]
resultado esperado: 2
Gostaria de saber se há possibilidade de utilizar um split como argumento dos slices no DataFrame. ex:
df =
![]( ) |
selecao = 'l1 c2'.split()
['l1','c2']
df.loc[selecao]
resultado esperado: 2
Boa noite. Da forma como foi exemplificada acima não funcionaria. Isso porque a função split retorna uma lista, e a lista dentro do .loc[] no Pandas (ou seja, df.loc[[i, j]], por exemplo) é entendido como possibilidades de valores. No caso do seu exemplo, o Pandas retornaria apenas as linhas com índices de valores "l1" ou "c2".
Porém existem sim algumas formas de fazer o que você deseja. A primeira seria "desmembrar" a lista e informar os valores de forma separada como por exemplo:
df.loc[selecao[0], selecao[1]]
# Lembre-se apenas de que se o índice e/ou a coluna for de um tipo numérico, você precisará converter a string em número
Agora, uma forma que eu pessoalmente uso mais no meu dia-a-dia é a seguinte:
df.loc[index][coluna]
# Ou ainda:
df[coluna].loc[index]
Espero ter ajudado. Fico a disposição se ainda restarem dúvidas.
PS: Caso algum outro aluno conheça um método mais eficiente ou mais parecido com o exemplo da pergunta, ficaria feliz em conhecer também.