用日期时间和类别重新绑定熊猫数据框

用户名

我有一个包含两列的pandas数据框:

column1   column2   
C1        date1       
C1        date2
C3        date3
C2        date4
C2        date5
...       ...

第一列代表类别(C1,C2,C3),第二列代表日期,格式为YYYY-MM-DD HH-MM-SS。我需要按时间序列对数据进行分组,该时间序列包含持续时间相同(例如1周)的垃圾箱以及每个类别的出现次数。目的是显示三个曲线以及每个类别每月出现的次数。我已将column2转换为具有以下内容的日期时间索引:

df['column2']= pd.to_datetime(df['column2'])
df = df.sort_values(by='column2',ascending=True)

我知道pd.groupby(['category'])可以给我每个类别的总和或计数,但是随后我丢失了日期信息。我怎样才能达到目的?

编辑1

import pandas as pd
from datetime import datetime
import random 
import time

def random_date(seed):
    random.seed(seed)
    d = random.randint(1, int(time.time()))
    return datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')

df = pd.DataFrame(columns=['category', 'date'])
for i in range(100):
    date = random_date(i)
    category = random.randint(0,2)
    d = {'category': category, 'date': date}
    df = df.append(d, ignore_index=True)

df = df.set_index(['date'])                                                               
df.index = pd.to_datetime(df.index)                                             
df = df.sort_values(by='date',ascending=True)                                             

这就是我被困住的地方。我现在希望能够绘制三个时间序列,其中一个时间段为1周,每个类别的出现次数。

耶斯列尔

我认为你需要GrouperDataFrame.groupby与列名和获得计数GroupBy.size,最后如果需要栏添加类别Series.unstack

df = df.groupby([pd.Grouper(freq='W'), 'category']).size().unstack(fill_value=0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用日期时间索引和列中的随机值创建熊猫数据框

从熊猫数据框中的日期时间中删除时间戳

熊猫数据框类别总和

熊猫数据框分组日期时间月份

用日期时间索引插值并填充熊猫数据框

熊猫数据框每天重新采样,没有日期时间索引

熊猫从特定日期和时间范围读取csv数据框行

熊猫-更改重新采样的时间序列的开始和结束日期

将年份和月份名称转换为熊猫数据框的日期时间列

熊猫日期时间索引到数据框

熊猫数据框日期时间到时间再到秒

如何在熊猫数据框中删除日期和时间?

按类别和时间戳分组的熊猫数据框

如何使用增量日期时间模拟熊猫数据框数据

在日期时间过滤熊猫数据框

熊猫数据框日期时间转换和最小/最大计算

熊猫数据框日期无法转换为日期时间格式

如何索引熊猫日期时间数据框中的打开和关闭?

通过日期时间和日期列合并熊猫数据框

熊猫数据框,按日期/月份分组,按类别计数

如何在日期时间索引和两列上合并熊猫数据框

在熊猫数据框中将datetime64列拆分为日期和时间列

用系数重新采样熊猫数据框

用熊猫重新采样“整洁”的数据框

如何将数据框的日期和时间列转换为熊猫的日期时间格式?

使用日期时间扩展熊猫数据框

熊猫数据框列到日期时间

熊猫数据框索引从日期时间中删除日期

给定一个包含多个日期和每个日期多次的熊猫数据框,我如何选择每个日期的时间?