Python 按列和行计数分组绘制时间序列图
我有一个数据帧,它有两个值 索引是datetime,第二列是class_label 我想通过按class_标签分组并计算行数来重新采样这个数据帧Python 按列和行计数分组绘制时间序列图,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧,它有两个值 索引是datetime,第二列是class_label 我想通过按class_标签分组并计算行数来重新采样这个数据帧 datetime class_label 01-01-2020 00:00 1 01-01-2020 00:00 2 01-01-2020 00:00 2 01-02-2020 00:00 2 01-02-2020 00:00 2 01-03-2020 00:00 1 01-04-2020 00
datetime class_label
01-01-2020 00:00 1
01-01-2020 00:00 2
01-01-2020 00:00 2
01-02-2020 00:00 2
01-02-2020 00:00 2
01-03-2020 00:00 1
01-04-2020 00:00 1
是否可以按天重新取样并显示标签数量
datetime class_label count
01-01-2020 00:00 1 1
01-01-2020 00:00 2 2
01-02-2020 00:00 2 2
01-03-2020 00:00 1 1
01-04-2020 00:00 1 1
您似乎希望同时按
datetime
和class\u标签
进行分组,并计算每组的观察次数
从1.1.0开始,您可以使用.size()
或.value\u counts()
来自随机导入范围
从日期时间导入时间增量,日期
将numpy作为np导入
作为pd进口熊猫
def随机_日期(开始、结束):
增量=结束-开始
增量=(增量天*24*60*60)+增量秒
随机秒=随机范围(整数增量)
返回开始+时间增量(秒=随机秒)
n=100
开始=日期(2020年1月1日)
结束=日期(2020年1月5日)
df=pd.DataFrame({“datetime”:[random_date(start,end)表示范围(n)],“class_label”:[np.random.randint(1,3)表示范围(n)])
#使用
df.groupby(['datetime','class_label'],as_index=False).size().rename(columns={“size”:“count”}.sort_值(['datetime','class_label']))
#使用.value_counts()
df.value_counts()。到_帧(“计数”)。对_值(['datetime','class_label'])进行排序。重置_索引()
groupby与first和count