如何在Python中绘制CSV数据中指定月份的时间序列图表
筛选指定时间段并绘制数据图表的解决方案
1. 导入依赖库
先导入处理数据和绘图的常用库:
import pandas as pd import matplotlib.pyplot as plt
2. 读取CSV数据
由于你的Date列已为正确的datetime格式,读取时可直接解析该列并设为索引,方便后续时间筛选:
df = pd.read_csv('your_data.csv', parse_dates=['Date'], index_col='Date')
3. 筛选指定月份数据
方法1:按月份数字精准筛选
利用索引的dt.month属性提取月份,结合年份条件过滤:
# 筛选2020年1月的数据 jan_data = df[(df.index.year == 2020) & (df.index.month == 1)] # 若需筛选所有年份的1月数据,移除年份条件即可 # jan_data = df[df.index.month == 1]
方法2:按时间范围切片(更直观)
如果明确具体时间区间,直接用索引切片即可,支持月份级简写:
# 筛选2020年1-2月的所有数据 jan_feb_data = df['2020-01':'2020-02'] # 也可以指定精确日期范围 # jan_feb_data = df['2020-01-01 00:00:00':'2020-02-29 23:59:59']
4. 绘制筛选后的数据
以折线图为例展示数据趋势:
plt.figure(figsize=(12, 6)) jan_data['Company1'].plot(label='Company1') jan_data['Company2'].plot(label='Company2') plt.title('2020年1月数据趋势') plt.xlabel('时间') plt.ylabel('数值') plt.legend() plt.show()
如果需要其他图表类型,替换plot为对应方法即可,比如柱状图:
jan_data.plot(kind='bar', figsize=(12, 6)) plt.title('2020年1月数据对比') plt.show()
内容的提问来源于stack exchange,提问作者olividir
相关产品推荐
相关产品推荐

