Extraiga el número de semana de la fecha en Pandas-Python

Muchas veces, cuando trabajamos con algunos datos que contienen fechas, es posible que necesitemos extraer el número de semana de una fecha en particular. En Python, se puede hacer fácilmente con la ayuda de pandas.

Ejemplo 1:

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary containing a date
dict = {'Date':["2015-06-17"]}
  
# converting the dictionary to a dataframe
df = pd.DataFrame.from_dict(dict)
  
# converting the date to the required format
df['Date'] = pd.to_datetime(df['Date'], errors ='coerce')
df.astype('int64').dtypes
  
# extracting the week from the date
weekNumber = df['Date'].dt.week
  
print(weekNumber)

Producción:

0    25
Name: Date, dtype: int64

Ejemplo 2: También podemos hacer lo mismo para varias fechas agregando más fechas en el objeto ‘Fecha’.

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary containing a date
dict = {'Date':["2020-06-17", "2020-01-14", 
                "2020-09-20", "2020-08-15"]}
  
# converting the dictionary to a 
# dataframe
df = pd.DataFrame.from_dict(dict)
  
# converting the date to the required 
# format
df['Date'] = pd.to_datetime(df['Date'],
                            errors ='coerce')
df.astype('int64').dtypes
  
# extracting the week from the date
weekNumber = df['Date'].dt.week
  
print(weekNumber)

Producción:

python-extract-week-number

Ejemplo 3: Extracción del número de semana de fechas para varias fechas usando date_range() y to_series() .

  • pandas.data_range(): genera todas las fechas desde la fecha de inicio hasta la fecha de finalización

    Sintaxis:

    pandas.date_range(inicio, fin, periodos, frecuencia, tz, normalizar, nombre, cerrado)

  • pandas.to_series(): crea una serie con índice y valores iguales a las claves de índice.

    Sintaxis:

    Index.to_series(self, index, name)
# importing pandas as pd
import pandas as pd 
  
# generating all dates in given range
# with increment by days
allDates = pd.date_range('2020-06-27', '2020-08-03', freq ='W')
  
# converting dates to series
series = allDates.to_series()
  
series.dt.week

Producción:

pandas-extract-week-number-2

Ejemplo 4: en este ejemplo, usaremos pandas.Series() para generar fechas y usar una forma diferente de convertir la serie al marco de datos.

pandas.Series(): se usa para crear un ndarray unidimensional con etiquetas de eje.
Sintaxis:

pandas.Series(data, index, dtype, name, copy, fastpath)
# importing pandas as pd
import pandas as pd 
  
# generating the series
dates = pd.Series(pd.date_range('2020-2-10',
                                periods = 5,
                                freq ='M'))
  
# converting to dataframe
df = pd.DataFrame({'date_given': dates})
  
# extracting the week number
df['week_number'] = df['date_given'].dt.week
  
df

Producción:

pandas-extract-week-number-5

Publicación traducida automáticamente

Artículo escrito por parasmadan15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *