python - what - pandas datetime64 ns
Pandas date_range para generar datos mensuales a principios de mes (1)
Puede hacerlo cambiando el argumento de freq
de ''M''
a ''MS''
:
d = pandas.date_range(start=''1/1/1980'', end=''11/1/1990'', freq=''MS'')
print(d)
Esto debería imprimir ahora:
DatetimeIndex([''1980-01-01'', ''1980-02-01'', ''1980-03-01'', ''1980-04-01'',
''1980-05-01'', ''1980-06-01'', ''1980-07-01'', ''1980-08-01'',
''1980-09-01'', ''1980-10-01'',
...
''1990-02-01'', ''1990-03-01'', ''1990-04-01'', ''1990-05-01'',
''1990-06-01'', ''1990-07-01'', ''1990-08-01'', ''1990-09-01'',
''1990-10-01'', ''1990-11-01''],
dtype=''datetime64[ns]'', length=131, freq=''MS'', tz=None)
Mire en la parte de alias de desplazamiento de la documentación. Allí se indica que ''M''
es para el final del mes (frecuencia de fin de mes) mientras que ''MS''
para el comienzo (frecuencia de inicio del mes).
Estoy tratando de generar un rango de fechas de datos mensuales donde el día es siempre al comienzo del mes:
pd.date_range(start=''1/1/1980'', end=''11/1/1991'', freq=''M'')
Esto genera 1/31/1980
, 2/29/1980
, y así sucesivamente. En su lugar, solo quiero 1/1/1980
, 2/1/1980
, ...
He visto otras preguntas sobre la generación de datos que siempre están en un día específico del mes, con respuestas que dicen que no era posible, ¡pero el comienzo del mes seguramente debe ser posible!