Python 从多级数据帧生成散点图[pandas]

Python 从多级数据帧生成散点图[pandas],python,pandas,plot,Python,Pandas,Plot,我有一个大数据框架,在这个框架上我做了一个df.groupby([“event_type”,“day”].count()),得到了以下多索引df: 我的目标是生成一个散点图,显示每天事件发生的次数,按事件类型排序。因此,从上表中可以看出,x轴是“天”,y轴是“id”(这是一个计数)。但我不知道如何制作散点图 背景:事件类型只有3种。日期类似于2年的日期。“id”是我正在跟踪的事物的id,但在上面的.groupby()数据框中,它实际上是id的计数。理想情况下,我希望绘制3条单独的线(每种事件类

我有一个大数据框架,在这个框架上我做了一个df.groupby([“event_type”,“day”].count()),得到了以下多索引df:

我的目标是生成一个散点图,显示每天事件发生的次数,按事件类型排序。因此,从上表中可以看出,x轴是“天”,y轴是“id”(这是一个计数)。但我不知道如何制作散点图

背景:事件类型只有3种。日期类似于2年的日期。“id”是我正在跟踪的事物的id,但在上面的.groupby()数据框中,它实际上是id的计数。理想情况下,我希望绘制3条单独的线(每种事件类型一条)。id计数与一年中的日期相对应。谢谢!

我希望这能有所帮助:

a['date'] = pd.to_datetime(a['date'])
for name, group in a.groupby(['type','date']).count().groupby('type'):
    plt.plot(group.reset_index().set_index('date')['v1'], marker=o, linestyle='', label=name)
    plt.legend()

如果要进行普通打印而不是分散打印,请删除标记和线型参数。 我的DF看起来像这样:

我希望这将有助于:

a['date'] = pd.to_datetime(a['date'])
for name, group in a.groupby(['type','date']).count().groupby('type'):
    plt.plot(group.reset_index().set_index('date')['v1'], marker=o, linestyle='', label=name)
    plt.legend()

如果要进行普通打印而不是分散打印,请删除标记和线型参数。 我的DF看起来像这样:


你应该养成粘贴数据的习惯,
code
格式的代码,这样那些试图帮助你写答案的人就可以在写答案时复制/粘贴数据。
id
是一个离散变量,它已经被聚合了;
day
是一个时间序列/分类变量,所以这个数据的散点图将被转换为b基本上看起来像点图(或只有节点的线图)请考虑一行或条形图。<代码> MatPultLIB。pyPrave/Code >是Python最常用的绘图库——参见这里的条形图的示例代码:您应该习惯粘贴数据和代码格式为<代码>代码,以便那些试图帮助您在尝试编写答案时复制/粘贴它的习惯。<代码> ID>代码>是一个DI。screte变量——已经聚合了,
day
是一个时间序列/分类变量,因此该数据的散点图基本上看起来像点图(或只有节点的线图)Python是最流行的Python绘图库,参见这里的条形图的示例代码:可能类似DF[DF[Type ] ]。(I'Type A′,'Type B′])并将其分配给新DF,并从新的OnMaybe中创建图形,如DF[DF[Type ] ]。并将其分配给新的df,并从新df创建图形