Pandas: como encontrar a data mais antiga em uma coluna


Você pode usar os seguintes métodos para encontrar a data mais antiga em uma coluna de um DataFrame do pandas:

Método 1: Encontre a data mais antiga na coluna

 df[' date_column ']. min ()

Método 2: Encontre a linha com a data mais antiga na coluna

 df. iloc [df[' date_column ']. argmin ()]

Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.to_datetime (['2022-04-01', '2022-02-12',
                                           '2022-06-13', '2022-02-04',
                                           '2022-07-01', '2022-02-19',
                                           '2022-12-03', '2022-04-04']),
                   ' sales ': [12, 15, 24, 24, 14, 19, 12, 38]})

#view DataFrame
print (df)

        dirty date
0 2022-04-01 12
1 2022-02-12 15
2 2022-06-13 24
3 2022-02-04 24
4 2022-07-01 14
5 2022-02-19 19
6 2022-12-03 12
7 2022-04-04 38

Exemplo 1: Encontre a data mais antiga na coluna

Podemos usar o seguinte código para encontrar a data mais antiga na coluna de data do DataFrame:

 #find earliest date in 'date' column
df[' date ']. min ()

Timestamp('2022-02-04 00:00:00')

Pelo resultado, podemos ver que a data mais antiga na coluna de data é 04/02/2022.

Nota : Se você quiser encontrar a data mais recente, simplesmente substitua min() por max() no código.

Exemplo 2: Encontre a linha com a data mais antiga na coluna

Podemos usar o seguinte código para encontrar a linha com a data mais antiga na coluna de data do DataFrame:

 #find row with earliest date in 'date' column
df. iloc [df[' date ']. argmin ()]

date 2022-02-04 00:00:00
dirty 24
Name: 3, dtype: object

A saída exibe a linha inteira contendo a data mais antiga na coluna de data .

Por exemplo, podemos ver os seguintes valores nesta linha:

  • data : 02-04-2022
  • sujo : 24

Se você deseja apenas saber a posição do índice da linha com a data mais antiga, pode substituir .iloc por .index da seguinte forma:

 #find index position of row with earliest date in 'date' column
df. index [df[' date ']. argmin ()]

3

Isso nos diz que a linha com posição de índice 3 contém a data mais antiga na coluna de data .

Nota : Se você deseja encontrar a linha com a data mais recente, simplesmente substitua argmin() por argmax() no código.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como adicionar e subtrair dias de uma data no Pandas
Como selecionar linhas entre duas datas no Pandas
Como criar uma coluna de data de ano, mês e dia no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *