如何过滤数据框并根据 pandas 数据框中的另一列获取记录总数?
How to filter dataframe and get the total number of records based on another column in pandas dataframe?
我收集了 jira 数据并将其写入一个 csv 文件,其中我收集的数据框有 Ticket_No
、Request Type
、Assignee Name
和 Status
作为列。我想要实现的是计算 In Progress
、Open
和 Closed
门票的数量,以便在 x 轴上带有 Assignees
的绘图条形图中将其可视化,并且Status
在 y 轴上。可能吗?下面是示例数据集。 plotly 没有为我给出的 x 和 y 轴绘制任何东西(很明显)。
- 注意:只要状态中有 'New',受让人姓名中就有空白
N;Issue key;Request Type;Assignee name;Status
0;JIRA_1;Bug;User1;Awaiting Review
1;JIRA_2;Improvement;User2;In Progress
2;JIRA_3;Improvement;;New
3;JIRA_4;Improvement;User3;Closed
4;JIRA_5;Improvement;User3;Awaiting Review
5;JIRA_6;Improvement;;New
6;JIRA_7;Bug;User5;Closed
7;JIRA_8;Bug;User5;Closed
import plotly.express as px
fig = px.bar(data_frame=df, x=['Request Type'], y=['Status'])
所以,我想在情节中表现出来。
User1:
1 张状态为 Awaiting Review
的工单
User3:
4 张状态为 2: New
、1: Awaiting Review
、2: New status
的工单
等等
为了实现你想要的,你不能直接在数据帧上做。在使用 plotly 之前,您需要首先对每个类别进行计数,px.bar
需要一个类别及其计数。以下代码生成如下所示的绘图,它执行您的请求。
import pandas as pd
import plotly.express as px
df = pd.read_csv("data_jira.csv", delimiter=';')
dff = df.groupby(['Assignee name', 'Status'])['N'].count().reset_index(drop=0).rename(columns={'N': 'Count'})
# Change barmode to 'overlay' for stacked barchart
px.bar(data_frame=dff, x='Assignee name', y='Count', color='Status', barmode='group')
我收集了 jira 数据并将其写入一个 csv 文件,其中我收集的数据框有 Ticket_No
、Request Type
、Assignee Name
和 Status
作为列。我想要实现的是计算 In Progress
、Open
和 Closed
门票的数量,以便在 x 轴上带有 Assignees
的绘图条形图中将其可视化,并且Status
在 y 轴上。可能吗?下面是示例数据集。 plotly 没有为我给出的 x 和 y 轴绘制任何东西(很明显)。
- 注意:只要状态中有 'New',受让人姓名中就有空白
N;Issue key;Request Type;Assignee name;Status
0;JIRA_1;Bug;User1;Awaiting Review
1;JIRA_2;Improvement;User2;In Progress
2;JIRA_3;Improvement;;New
3;JIRA_4;Improvement;User3;Closed
4;JIRA_5;Improvement;User3;Awaiting Review
5;JIRA_6;Improvement;;New
6;JIRA_7;Bug;User5;Closed
7;JIRA_8;Bug;User5;Closed
import plotly.express as px
fig = px.bar(data_frame=df, x=['Request Type'], y=['Status'])
所以,我想在情节中表现出来。
User1:
1 张状态为 Awaiting Review
User3:
4 张状态为 2: New
、1: Awaiting Review
、2: New status
等等
为了实现你想要的,你不能直接在数据帧上做。在使用 plotly 之前,您需要首先对每个类别进行计数,px.bar
需要一个类别及其计数。以下代码生成如下所示的绘图,它执行您的请求。
import pandas as pd
import plotly.express as px
df = pd.read_csv("data_jira.csv", delimiter=';')
dff = df.groupby(['Assignee name', 'Status'])['N'].count().reset_index(drop=0).rename(columns={'N': 'Count'})
# Change barmode to 'overlay' for stacked barchart
px.bar(data_frame=dff, x='Assignee name', y='Count', color='Status', barmode='group')