You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按日期绘制图表,展示每日Is_Correct列False值的占比?

实现每日Is_Correct=False值的占比计算与可视化

1. 准备示例数据

用pandas创建你提供的DataFrame:

import pandas as pd

data = {
    'Date': ['2023-06-01', '2023-06-01', '2023-06-02', '2023-06-02', '2023-06-02'],
    'ID': [1, 1, 2, 2, 2],
    'Count': [12, 1, 15, 10, 1],
    'Is_Correct': [True, False, True, True, False]
}
df = pd.DataFrame(data)

2. 按日期和Is_Correct分组聚合Count总和

使用groupby按Date和Is_Correct分组,对Count列求和,得到你需要的中间结果:

grouped_df = df.groupby(['Date', 'Is_Correct'])['Count'].sum().reset_index()

执行后grouped_df的结果如下:

DateIs_CorrectCount
2023-06-01False1
2023-06-01True12
2023-06-02False1
2023-06-02True25

3. 计算每日False值的占比

先计算每个日期的总Count,再推导False值的占比:

# 计算每日总Count
daily_total = grouped_df.groupby('Date')['Count'].sum().reset_index(name='Total_Count')
# 合并总Count到分组数据
merged_df = pd.merge(grouped_df, daily_total, on='Date')
# 筛选Is_Correct=False的行,计算占比
false_ratio = merged_df[merged_df['Is_Correct'] == False].copy()
false_ratio['False_Ratio'] = false_ratio['Count'] / false_ratio['Total_Count']

最终false_ratio的结果:

DateIs_CorrectCountTotal_CountFalse_Ratio
2023-06-01False113~0.0769
2023-06-02False126~0.0385

4. 可视化每日False值占比

用matplotlib绘制柱状图展示占比:

import matplotlib.pyplot as plt

plt.figure(figsize=(8, 5))
plt.bar(false_ratio['Date'], false_ratio['False_Ratio'], color='salmon')
plt.title('每日Is_Correct=False值的占比')
plt.xlabel('日期')
plt.ylabel('False值占比')
plt.ylim(0, max(false_ratio['False_Ratio']) * 1.2)  # 调整y轴范围,提升可读性
# 在柱子上方标注具体百分比
for i, ratio in enumerate(false_ratio['False_Ratio']):
    plt.text(i, ratio + 0.005, f'{ratio:.2%}', ha='center')

plt.show()

这段代码会生成柱状图,清晰展示每日False值的占比情况,同时标注具体百分比数值。

内容的提问来源于stack exchange,提问作者toy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:22:46