我尝试按日期、时间和文章这3列对数据帧进行分组,并返回一个对象,其中包含日期、时间和文章的分组,以及每个时间(小时)内每篇文章的数量。
这段代码完成了分组的工作,但我不知道如何也获得计数:
dfs.groupby([dfs['Dato'].dt.date,dfs['Tid'].dt.hour,dfs['Varenavn']])所以这可能是我的输入:
01.01.2018 0901 Car
01.01.2018 0905 Car
01.01.2018 0945 Horse
01.01.2018 1005 Car
02.01.2018 0900 Horse
02.01.2018 0915 Horse
02.01.2018 1050 Car
02.01.2018 1055 Horse想要的输出:
01.01.2018 09-10 Car 2
Horse 1
01.01.2018 10-11 Car 1
02.01.2018 09-10 Horse 2
02.01.2018 10-11 Car 1
Horse 1我的总体目标是从包含每个售出商品的数据框中,找出每天每小时售出的商品数量、时间和日期
发布于 2018-10-15 05:20:05
假设您的OG数据帧中包含Dato、Tid和Varenavn列,请尝试执行以下操作:
df['datetime'] = df['Dato'] + str(' ') + df['Tid']
df['datetime'] = pd.to_datetime(df['datetime'], format = '%m.%d.%Y %H%M')
df.groupby([pd.Grouper(key = 'datetime', freq = 'H'), 'Varenavn'])['Varenavn'].count()输出:
datetime Varenavn
2018-01-01 09:00:00 Car 2
Horse 1
2018-01-01 10:00:00 Car 1
2018-02-01 09:00:00 Horse 2
2018-02-01 10:00:00 Car 1
Horse 1...implicitly假设时间戳中的小时是开始时间。您可以对datetime重新编制索引并使用它,以获得所需的格式。
https://stackoverflow.com/questions/52807109
复制相似问题