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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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úmeroAgora, 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.