与熊猫分组列表

时间:2018-11-16 08:07:14

标签: python pandas

我有包含创建日期文件的列表。我需要按日期名称,日期,月份和年份对日期进行分组。

    def group_datetime(self, list_of_files_creation_time):
        df1 = pandas.DataFrame(list_of_files_creation_time)
        df2 = pandas.DataFrame({'Day': ['Mon']})
        grouped_list = df1.groupby(pandas.cut(df1[list_of_files_creation_time], df2['Day'])).agg({'Day': })

        return grouped_list

在“ list_of_files_creation_time”中,我有:

<class 'list'>: ['2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-12-Mon 11:26', '2018-11-12-Mon 11:26']

1 个答案:

答案 0 :(得分:2)

import pandas as pd

list_of_files_creation_time = ['2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-16-Fri 10:29', '2018-11-12-Mon 11:26', '2018-11-12-Mon 11:26']
print(list_of_files_creation_time)

df1 = pd.DataFrame(list_of_files_creation_time, columns=['date_init'])

df1 = df1.join(df1.date_init.str.split(' ', expand=True))
df1 = df1.rename(columns={0: 'date', 1: 'hour'})
df1 = df1.join(df1.date.str.split('-', expand=True))
df1 = df1.rename(columns={0: 'year', 1: 'month', 2: 'day', 3: 'day_of_week'})

df_month = df1.groupby('month').first()
df_day = df1.groupby('day').first()

print(df1)
print(df_month)
print(df_day)