Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Como posso pegar apenas os 5 primeiros valores de uma variável.

Gostaria de saber como posso pegar apenas os 5 últimos valores de uma variável. por exemplo tenho a data:

21/11/2022

Quero amarzenar apenas 21/11 a uma variável.

3 respostas
solução!

Olá, Gabrielly. Tudo bem?

Você pode fazer acessando o ano e o mês da data, mas você precisa que a coluna do seu DataFrame seja do tipo datetime.

Para isso, existem algumas opções. Vou mostrar uma delas.

Primeiramente, vamos criar um pequeno DataFrame como exemplo, que irei chamar de df_datas:

import pandas as pd

dados = {'Data': ['21/11/2022', '15/02/2022', '07/05/2022']}
df_datas = pd.DataFrame(dados)

Vamos verificar o tipo de dados dos valores da coluna Data:

type(df_datas.Data[0])

Saída:

str

Agora, precisamos converter o tipo de dados dos valores para datetime. Vamos fazer isso utilizando o método .to_datetime() do pandas. Em seguida, vamos ver o tipo de dados novamente:

df_datas['Data'] = pd.to_datetime(df_datas['Data'])
type(df_datas['Data'][0])

Saída:

pandas._libs.tslibs.timestamps.Timestamp

Pronto, agora temos os dados com o tipo que precisamos. Com isso, podemos acessar somente os dias, os meses e os anos das datas:

print(df_datas.Data[0].day) # dia
print(df_datas.Data[0].month) # mês
print(df_datas.Data[0].year) # ano

Saída:

21

11

2022

Para salvar somente o dia e o mês em uma nova coluna do DataFrame, podemos utilizar o método .strftime():

df_datas['dia_mes'] = df_datas['Data'].dt.strftime('%d/%m')
df_datas

Saída:

Datadia_mes
02022-11-2121/11
12022-02-1515/02
22022-07-0505/07

Se quiser pegar apenas um desses valores, basta selecionar o índice que deseja. Como exemplo, vou utilizar o índice 0, para a data 21/11:

dia_mes = df_datas['Data'].dt.strftime('%d/%m')[0]
dia_mes

Saída:

'21/11'

 

Espero ter ajudado, Gabrielly. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigada pela a ajuda!

Olá, a pergunta, foi essa: "Gostaria de saber como posso pegar apenas os 5 últimos valores de uma variável. por exemplo tenho a data":

21/11/2022

Quero amarzenar apenas 21/11 a uma variável.

Nesse caso, não poderia ser feito, simplesmente,

data[0:5]

Ao invés de toda a "solução complexa" apresentada? Afinal, da forma como o post foi feito, não foi especificado nenhum requisito para a solução (lembrando que data pode ser armazenada tanto como datetime quanto object(string).