簡體   English   中英

從 dataframe 中繪制一個分組條形圖,該 Z6A8064B5DF47C55057DZ 源自對多個屬性分組的 sql 查詢

[英]draw a grouped bar graph from a dataframe originated from an sql query grouped on multiple attributes

我對 pandas 和 numpy 比較陌生

我想要實現的是:

  • 從 dataframe 開始,該查詢源自 sql 查詢,該查詢按 tag_name 分組錯誤(定義任務類型是源自它),錯誤消息和特定元標記的特定錯誤的發生
  • 構建一個分組條形圖,其中 x 軸上的每個組都代表一個元標記,而每個條形圖是一條錯誤消息,條形圖的高度由出現的次數決定

下面是一個示例 dataframe:

        name                                           message  occurred
0  meta-tag1                                       InvalidPlan         1
1  meta-tag1  Maximun number of attempts at planning surpassed       276
2  meta-tag1                               Rescheduling worker       275
3  meta-tag2                                       InvalidPlan        18
4  meta-tag3  Maximun number of attempts at planning surpassed        22

我似乎找不到讓我產生我想要的結果的解決方案。

起初,我使用 np.unique 構建了 2 個包含唯一元標記和唯一錯誤的列表

然后生成為元標記過濾的數據幀列表,然后從每個子數據幀生成一個數組,其中僅包含每個錯誤的出現次數,我嘗試將其提供給一個 pyplot,將 arrays 列表提供給它,其中的唯一錯誤消息為列和唯一的元標記作為索引,但我無法讓它工作,我很確定這是錯誤的方法。

我很確定它只能通過以正確的方式操作 dataframe 來實現,這對我目前的水平來說非常困難,任何建議都非常受歡迎。

我認為這就是您想要的:讓我們將您的數據框稱為df

t=df.groupby(['name', 'message'])['occurred'].sum().unstack('message').fillna(0)

t.plot(kind='bar', stacked=True)

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM