Python不使用pandas如何直接读取CSV文件中DD/MM/YY格式的日期数据
加载格式为mm/dd/yy的CSV日期数据并分析趋势的方案
1. 前置依赖安装
你需要用到Python的pandas(数据处理)和matplotlib(绘图)库,安装命令:
pip install pandas matplotlib
2. 加载CSV并解析日期
加载时直接指定日期格式,避免pandas自动识别出错:
import pandas as pd import matplotlib.pyplot as plt # 读取CSV并自动解析日期列 df = pd.read_csv( "你的数据文件路径.csv", parse_dates=[0], # 指定第0列为日期列 date_format="%m/%d/%y" # 匹配mm/dd/yy的日期格式,适配你给出的样例 ) # 自定义列名方便后续调用 df.columns = ["日期", "关联数值"]
说明:
%m代表月份、%d代表日期、%y代表两位年份,会自动识别为2000年之后的日期,比如样例中的1/2/16会被解析为2016-01-02。
3. 验证解析结果
运行以下代码确认数据加载正确:
# 查看列类型,日期列应为datetime64类型 print(df.dtypes) # 查看前5行数据,确认日期解析无误 print(df.head())
4. 绘制趋势图
plt.figure(figsize=(12, 6)) # 绘制原始数据折线图 plt.plot(df["日期"], df["关联数值"], marker='o', linestyle='-', color='#1f77b4', label='原始数值') # 可选:添加7日滑动平均线,平滑波动凸显长期趋势 df["7日滑动平均"] = df["关联数值"].rolling(window=7).mean() plt.plot(df["日期"], df["7日滑动平均"], linestyle='--', color='#ff7f0e', label='7日滑动平均') # 图表样式配置 plt.xlabel("日期") plt.ylabel("关联数值") plt.title("数值随日期变化趋势") plt.xticks(rotation=45) plt.legend() plt.tight_layout() plt.show()
5. 常用趋势分析操作
- 计算环比变化率:
df["环比变化率(%)"] = df["关联数值"].pct_change() * 100 - 按月聚合统计均值:
monthly_avg = df.groupby(df["日期"].dt.to_period("M"))["关联数值"].mean() - 筛选指定时间段数据:
period_df = df[(df["日期"] >= "2016-01-01") & (df["日期"] <= "2016-12-31")]
内容的提问来源于stack exchange,提问作者Amit Kumar
相关产品推荐
相关产品推荐

