Como selecionar ou filtrar linhas de dados baseadas em data em pandas?
Primeiro, converteremos o tipo de dados de valores baseados em dados em DateTime64; Em seguida, usaremos outros métodos (como o DataFame.loc []) para selecionar ou filtrar as datas baseadas entre duas datas. Inicialmente, as datas Datatype podem ser dadas ou representadas de várias maneiras, como strings, np.DateTime64 e DateTime.data hora. Usando o PD.Para o método DATETime () em pandas, podemos manipular datas convertendo a data de dados de dados em formato DATETime64.
Sintaxe:
Parâmetros:
arg: Pode ser flutuante, listar, string, número inteiro ou dataframe para ser convertido em tempo de dados.
erros: O valor pode ser especificado como elevação, coerção ou ignorar. Quando um dicionário como um mapeador, colunas ou linhas contém rótulos que estão ausentes do índice que está sendo convertido, aumente um KeyError se "Raise" estiver sendo usado. Definido para ignorar por padrão.
Dayfirst: Definido como falso por padrão. Se for verdade, o valor booleano coloca o dia do dia.
Anofirst: Se for verdade, o valor booleano coloca o primeiro ano. Falso é o valor padrão;
UTC: Valor limitado. Exibir o padrão de tempo atual (UTC) se verdadeiro.
formatar: A posição do ano, mês e dia são determinados por meio de uma entrada de string. Não é nenhum por padrão
infer_datetime_formatbool: Se verdadeiro e nenhum formato for especificado, tente inferir o formato da string de data/hora do primeiro elemento que não é nulo. False é o valor padrão.
Nos exemplos do tutorial, empregaremos a seguinte estratégia para escolher informações das linhas baseadas em datas no quadro de dados entre duas datas:
Exemplo # 1: valores baseados em datas de filtro usando dataframe.LOC [] função
Filtraremos dados baseados em datas usando o “DataFrame.loc [] ”função. Para acessar um grupo de colunas e linhas de um quadro de dados através do nome de colunas, índices ou uma matriz booleana, a função "loc []" é usada. A expressão condicional na variável loc [] neste exemplo retorna uma matriz booleana com um valor verdadeiro se a linha satisfazer a condição e um falso se a condição não satisfazer. Somente aquelas linhas com valores verdadeiros são retornados usando o método loc []. Vamos criar um quadro de dados primeiro para entender este exemplo claramente.
Criamos um DataFrame passando um dicionário dentro do PD.DataFrame () Função depois de importar os módulos de pandas. Em nosso quadro de dados, existem duas colunas cujos nomes são especificados como "tarefas" e "data". A coluna “Tarefa” consiste em dados inteiros (3, 2, 6, 1, 4, 5, 2, 1, 3, 4), e a coluna “Data” consiste em valores de string baseados em datas (“2022-01- 05 "," 2022-01-15 "," 2022-02-01 "," 2022-02-10 "," 2022-03-20 "," 2022-03-30 "," 2022-04-12 " , "2022-04-24", "2022-05-15", "2022-05-25"). Para visualizar nosso quadro de dados, usaremos a função print ().
Agora vamos verificar o tipo de dados de nossas colunas, utilizando o atributo "dtypes".
Como pode ser notado, o tipo de dados da coluna "Tarefas" é INT64, mas a coluna "data" possui o tipo de dados de "objeto". Como mencionado acima, temos que converter o tipo de dados das colunas com datas para DATETime64. Para alterar o tipo de dados da coluna "datas", o método to_dateTime () será usado.
Passamos a coluna "Data" na função to_dateTime () como um argumento e especificamos o formato como anos de ano-dias-dias. Depois de alterar o tipo de dados da coluna "Data", atribuímos -a à coluna "Data" do nosso DataFrame de dados "DF". Ao usar o atributo dTypes, podemos verificar se o tipo de dados foi alterado para "DateTime64" ou não.
Como o tipo de dados foi alterado agora, podemos usar o método LOC [] para filtrar as linhas necessárias.
Dentro do df.Método LOC [], criamos uma expressão/condição para selecionar apenas as linhas em que a data é maior ou igual a "22-02-01" e menor que "2022-04-24". Portanto, as linhas do índice 2 a 6 são satisfeitas pela condição, como mostrado na saída.
Exemplo # 2: valores baseados em datas de filtro usando diferentes atributos com dataframe.LOC [] função
No exemplo nº 1, filtramos as linhas baseadas em datas usando a função loc []. Neste exemplo, usaremos diferentes atributos com a função loc [] para selecionar linhas específicas baseadas em datas.
O primeiro passo será o mesmo; Converteremos o tipo de dados da coluna "Data" em "DateTime64" usando a função to_dateTime ().
Depois de alterar o tipo de dados para "DateTime64", usaremos a função loc [] para selecionar linhas entre duas datas.
Criamos uma condição para selecionar os dados nas datas que são iguais ou maiores que "2022-04-10" e menos de "2022-06-15". Temos quatro linhas com datas ("2022-04-12", "2022-04-24", "2022-05-15" e "2022-05-25") que satisfez a condição. Podemos filtrar ainda mais a saída para um horário, data, semana, mês, ano, etc específico., Usando o DateTime “.atributo dt ”com o quadro de dados.Método loc []. Suponhamos que tenhamos que selecionar a linha com a data "15" da saída recentemente gerada do "DF" DataFrame com quatro linhas.
Especificamos o DT.dia == 15 para buscar os dados armazenados na linha com a data "15". Temos a linha "índice 8" como saída porque a data é 15 nessa linha. Agora vamos usar o “.Entre ”atributo para selecionar linhas específicas entre duas datas em nosso DataFrame (criado no Exemplo # 1).
Usando o “.Entre () ”função, especificamos as datas entre“ 2022-01-15 ”e“ 2022-03-30 ”para gerar a saída.
Exemplo # 3: valores baseados em datas de filtro usando o .Função de consulta ()
Agora veremos como o DataFrame.A função query () funciona para selecionar linhas específicas baseadas em datas do DataFrame. Neste exemplo, será usado o mesmo dadoframe de dados "df", que criamos no Exemplo # 1. Primeiro, converteremos o tipo de dados da coluna "Data" em "Datetime64", como fizemos em exemplos anteriores.
Agora usaremos a função query () para selecionar linhas entre as datas.
A condição dentro da consulta (), como exibida acima, é selecionar dados nas datas que são iguais ou maiores que "2021-12-30" e menos que "2022-01-15". Por padrão, as colunas do quadro de dados são colocadas no espaço para nome da consulta, permitindo o acesso à coluna Data sem especificar o nome da coluna.
Estas são as linhas com dados dentro das datas que satisfazem a condição.
Conclusão
Neste tutorial, discutimos como selecionar as linhas baseadas em datas entre datas em pandas. Vimos a sintaxe dos pandas.Função to_dateTime (), que usamos para converter o tipo de dados da coluna baseada em datas em DateTime64. Implementamos exemplos para ensiná -lo a usar o DataFrame.LOC [] função, como usar diferentes atributos com dataframe.loc [] função e como usar o .Função de query () para selecionar os dados das linhas baseadas em datas entre duas datas.