代码之家  ›  专栏  ›  技术社区  ›  Arkistarvh Kltzuonstev

使用matplotlib在同一x轴上绘制数据帧其他列条件下的列值

  •  0
  • Arkistarvh Kltzuonstev  · 技术社区  · 6 年前

    我有一个数据框架,有600行,形状如下:

    rpttime         metric          value
    25/4/2018 15:45 UTIL_CPU        1.5
    25/4/2018 15:44 IDLE            74
    25/4/2018 15:41 REC_BYTES_S     0
    25/4/2018 15:47 ENT_CPU         100
    25/4/2018 15:44 ENT_CORE        1
    25/4/2018 15:48 TRANS_BYTES     92
    25/4/2018 15:43 PINNED          5425
    25/4/2018 15:48 PAGING_PAG      0
    25/4/2018 15:48 IOPS_IN         NULL
    25/4/2018 15:47 TRANS_BYTES_S   23484
    25/4/2018 15:43 PAGE_OUT        0
    25/4/2018 15:42 IOPS_OUT        10
    

    我想为Y轴上的“值”列和X轴上的“rpttime”绘制线图,作为“度量”列中每个项目的时间序列。在“metric”列中有大约20个单独的项目。“value”列中有一些空值需要省略,“value”列中的每个空值都需要省略该行。“metric”列的每个单独项至少有一个空值。这20个单独项目的所有线图都要绘制在一个图中。如何处理这个问题?

    2 回复  |  直到 6 年前
        1
  •  1
  •   SpghttCd    6 年前
    grpd=df.groupby('metric')
    
    

    然后,您可以迭代创建的组,根据rpttime绘制每组值。

    df.rpttime=pd.to_日期时间(df.rpttime)

    pps:nais handeled automatically,i.e.:null values just are not plotted(seeiops_in)

    rpttime

    for name, data in grpd:
        plt.plot(data.rpttime.values, data.value.values, 'x-', label = name)
    plt.legend()
    

    enter image description here

    df = pd.read_fwf('wherever/file/may/roam', colspecs=[(None, 15), (16, 31), (32, None)])
    df.rpttime = pd.to_datetime(df.rpttime)
    

    NA IOPS_IN )

        2
  •  0
  •   Amey Dahale    6 年前
    #原始数据帧
    >>>测向图
    
    
    

    Original dataframe with Null values

    # Drop NaN values using dropna
    df_to_be_plotted = df_origin.dropna()
    >>> df_to_be_plotted
    

    enter image description here