изменить формат месяц-год на формат год-месяц-дата в python - PullRequest
0 голосов
/ 12 июля 2020

У меня есть CSV-файл в качестве входных данных, в котором один из столбцов имеет формат даты как год-месяц. Мне нужно изменить формат столбца на формат год-месяц-дата, что подразумевает дату окончания месяца. Я использую Python 3. Кроме того, я также использую измененный столбец в функции агрегирования и группирую по функциям.

Например: 2020-01

2020-02

2020 -03

2020-04

Ожидаемый результат:

2020-01-31

2020-02-29 (с учетом високосного года)

2020-03-31

2020-04-30

так далее ...

Ответы [ 2 ]

1 голос
/ 12 июля 2020
from calendar import monthrange
from datetime import date
def month_end(year, month):
    return date(year=year, month=month, day=monthrange(year, month)[1]).isoformat()
>>> month_end(2020, 2)
'2020-02-29'
0 голосов
/ 12 июля 2020
import pandas as pd
import datetime as dt
import calendar as cal

# making data frame from csv file 
df = pd.read_csv("Table.csv")

# (month_year)->Column Name
df['month_last_dates'] = [datetime.datetime(date.year, date.month,
      calendar.monthrange(date.year, date.month)[1]) for date in month_year]

# defining aggregation process for each column
aggregations={ 'Metric':sum }

# Group by and aggregate                              
print( df.groupby(['col1', 'month_last_dates','col2']).agg(aggregations) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...