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

如何为value_counts()补全缺失日期的0值并绘制图表?

解决方案

步骤1:确保日期列是datetime类型

先把日期列转为pandas的datetime类型,这是后续日期操作的基础:

import pandas as pd

# 转换日期列为datetime格式
df_log_mel['Elecmetal Date'] = pd.to_datetime(df_log_mel['Elecmetal Date'])

步骤2:精准筛选目标月份数据

别用切片[2340:2378]筛选7月数据,这种方式容易因数据变动出错,直接通过日期筛选更可靠:

# 筛选2022年7月的所有数据
july_data = df_log_mel[df_log_mel['Elecmetal Date'].dt.to_period('M') == '2022-07']

步骤3:生成完整日期序列并补0

先生成7月的所有日期,再用reindex把统计结果对齐到完整日期,缺失日期自动填充0:

# 生成2022年7月的完整日期范围
full_july_dates = pd.date_range(start='2022-07-01', end='2022-07-31', freq='D')

# 统计日期出现次数,补全缺失日期为0
july_log_mel = july_data['Elecmetal Date'].value_counts(sort=False).reindex(full_july_dates, fill_value=0)

执行后,像2022-07-05这类无记录的日期会显示为0。

步骤4:可视化绘图

用matplotlib绘制柱状图展示统计结果:

import matplotlib.pyplot as plt

# 设置画布大小
plt.figure(figsize=(12, 6))

# 绘制柱状图
july_log_mel.plot(kind='bar')

# 设置图表样式
plt.title('2022年7月卡车调度次数统计')
plt.xlabel('日期')
plt.ylabel('卡车数量')
plt.xticks(rotation=45)  # 旋转日期标签避免重叠

# 自动调整布局
plt.tight_layout()
plt.show()

最终效果

处理后的july_log_mel会包含7月的每一天,无记录日期的数值为0,可视化图表能完整展示整个月份的调度情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:25:24