Como converter datetime em data no pandas
Muitas vezes você pode querer converter uma data/hora em uma data no pandas. Felizmente, isso é fácil de fazer usando a função .dt.date , que usa a seguinte sintaxe:
df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . date
Exemplo: data e hora até o momento no Pandas
Por exemplo, suponha que temos o seguinte DataFrame do pandas:
import pandas as pd #create pandas DataFrame with two columns df = pd.DataFrame({'sales': [4, 11], 'time': ['2020-01-15 20:02:58', '2020-01-18 14:43:24']}) #view DataFrame print (df) sales time 0 4 2020-01-15 20:02:58 1 11 2020-01-18 14:43:24
Para converter a coluna “hora” em uma data simples, podemos usar a seguinte sintaxe:
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . date #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18
Agora a coluna “hora” simplesmente exibe a data sem a hora.
Usando Normalize() para tipos datetime64
Você deve observar que o código acima retornará um tipo de objeto :
#find dtype of each column in DataFrame df. dtypes dirty int64 time object dtype:object
Se você quiser datetime64 , você pode normalize() o componente de tempo, que manterá o tipo como datetime64 , mas exibirá apenas a data:
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . normalize () #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18 #find dtype of each column in DataFrame df. dtypes dirty int64 time datetime64[ns] dtype:object
Novamente, apenas a data é exibida, mas a coluna ‘hora’ é do tipo datetime64 .
Recursos adicionais
Como converter colunas para DateTime no Pandas
Como converter strings para flutuar no Pandas