Quero descartar linhas de um dataframe do pandas quando o valor da coluna de data estiver em uma lista de datas. O seguinte código não funciona:
a=['2015-01-01' , '2015-02-01']
df=df[df.datecolumn not in a]
Estou tendo o erro a seguir:
ValueError: O valor verdadeiro de uma série é ambíguo. Use a.empty, a.bool (), a.item (), a.any () ou a.all ().
Series.isin
, nãoDataFrame.isin
. Você está comparando por uma coluna, não um df inteiro.Você pode usar
Series.isin
:Embora a mensagem de erro sugira que
all()
ouany()
possa ser usada, eles são úteis apenas quando você deseja reduzir o resultado a um único valor booleano. No entanto, não é isso que você está tentando fazer agora, que é testar a associação de todos os valores da Série em relação à lista externa e manter os resultados intactos (ou seja, uma Série Booleana que será usada para dividir o DataFrame original )Você pode ler mais sobre isso nas dicas .
fonte