csv文件处理及可视化

(1)csv文件格式:要在文本文件中存储数据,最简单的方式是将数据作为一系列以逗号( , )分隔的值写入文件【形式:数据之间用,号隔开】
#例如:2014-1-5,61,44,26,18,7,-1,56,30,9,30.34,30.27,30.15,10,4,0.00,0,195
(2)分析csv文件头
#csv处理模块包含在Python标准库中,可以分析csv文件的数据行,可以快速提取感兴趣的值。

def read_csv2():filename = 'D:\python_test1\chapter_16_sitka_weather_07-2014.csv'  # 文件所在路径with open(filename) as f:#打开文件,并创建文件对象#将文件对象作为参数传给csv.reader(),并创建一个与该文件相关联的阅读器实例,阅读器对象存储在reader中#reader处理文件中以逗号分隔的第一行数据,并将每项数据都作为一个元素存储在列表中#此时光标位于-1的位置reader = csv.reader(f)#模块csv包含函数next(),调用它并将阅读器对象传递给它时,它将返回文件中的下一行。#从-1行开始,每调用一次,获取下一行。header_row = next(reader)#enumerate()获取每个元素的索引及其值for index, column_header in enumerate(header_row):print(index, column_header)

(3)可视化实例:绘制整年的天气图

def get_allyear():filename="D:\python_test1\chapter_16_sitka_weather_2014.csv"with open(filename) as f:#打开文件#创建一个csv文件阅读器对象,当前文件的光标位于-1处reader=csv.reader(f)#光标移动到第1行next(reader)#新建存储信息的列表highs,dates,lows=[]#最高温度、日期、最低温度#在数据集中获取需要的数据,并存入相应的数据集#由于csv文件存储的都是文本字符型数据,因此取出来的也是文本型数据,若需进行数据处理,应将其转为数值型数据 int()进行强制类型转换for row in reader:#存放最高温度highs.append(int(row[1]))#存放日期date=datetime.strptime(row[0],"%Y-%m-%d")dates.append(date)#存放最低温度lows.append(int(row[3]))#绘制图形#设置图像大小fig=plt.figure(dpi=128,figsize=(10,6))#画图  两个plot绘制在一张图上plt.plot(dates,highs,c="red",alpha=0.5)plt.plot(dates,lows,c="blue",alpha=0.5)# alpha 设置不透明度  Alpha值为0表示完全透明,1(默认设置)表示完全不透明  通过设置alpha值可设置线条的透明度#fill_between()设置填充区域,实参facecolor指定了填充区域的颜色  dates表明x轴范围, highs, lows  表示两个y轴范围,由x范围和y轴范围共建的区域为填充的区域#作用:让填充区域将两个数据系列连接起来的同时不分散观察者的注意力。plt.fill_between(dates, highs, lows, facecolor='green', alpha=0.1)#设置相应的标签plt.title("Daily high and low temperatures - 2014", fontsize=24)plt.xlabel("",fontsize=16)fig.autofmt_xdate()  # 绘制斜的日期标签,以免它们彼此重叠plt.ylabel("Temperature (F)", fontsize=16)# 设置刻度标记的大小plt.tick_params(axis='both', which='major', labelsize=16)plt.show()#若存在缺失值#则采用try:...except  异常:... else:的格式进行异常捕捉

【重难点&新知识】:
(1)设置图像大小(自定义图像实例)

fig=plt.figure(dpi=128,figsize=(10,6))

语法:

figure(num=None, figsize=None, dpi=None, facecolor=None,edgecolor=None, frameon=True)

参数解析:

num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

补充:

fig.autofmt_xdate()#绘制斜的日期标签,以免它们彼此重叠

(2)在同一个折线中绘制两条图线
语法逻辑:为同一个plt实例添加数据,调用多次plot函数,就可以在同一张图中绘制多条折线。

#画图 两个plot绘制在一张图上
plt.plot(dates,highs,c=“red”,alpha=0.5)
plt.plot(dates,lows,c=“blue”,alpha=0.5)
#dates x轴 highs/lows y轴 alpha=0.5设置不透明度

(3) 设置图像填充区域
fill_between()设置填充区域

plt.fill_between(dates, highs, lows, facecolor=‘green’, alpha=0.1)

参数解析:

#实参facecolor指定了填充区域的颜色 dates表明x轴范围, highs, lows 表示两个y轴范围,由x范围和y轴范围共建的区域为填充的区域
#作用:让填充区域将两个数据系列连接起来的同时不分散观察者的注意力。

【结果分析】:

Python基础——csv文件处理及可视化相关推荐

  1. Python基础——csv文件中某列数据替换为数字

    csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...

  2. Python 基础 CSV文件的操作

    1.CSV文件的打开 CSV文件可以使用open命令打开,但是一定要用close命令关闭. 也可以用with语句打开,操作结束后,自动关闭. with open(文件路径字符串,模式字符) as 文件 ...

  3. 使用python将csv文件数据可视化

    简介 本文介绍如何通过python将csv文件数据简单地可视化. 使用到的文件 历年台风数量统计数据 代码 import csv import math import numpy as np impo ...

  4. python导入csv文件-Python从CSV文件导入数据和生成简单图表

    原标题:Python从CSV文件导入数据和生成简单图表 我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数 ...

  5. Python处理CSV文件(二)

    筛选特定的行 有些时候,你并不需要文件中所有的数据.例如,你可能只需要一个包含特定词或数字的行的子集,或者是与某个具体日期关联的行的子集.在这些情况下,可以用 Python 筛选出特定的行来使用. 你 ...

  6. Python读写CSV文件

    文章目录 简介 初试 CSV读 CSV写 优雅读取 第一个值作为键名 每行读取为字典 合并读写 封装 封装1 备注 参考文献 简介 CSV,Comma-Separated Values,逗号分隔值文件 ...

  7. Python基础 - csv文件格式

    python基础 - csv文件格式 csv(Comma Separated Values)格式是最通用的电子表格和数据库的导入导出格式,csv模块可以用来处理带分隔符的数据文件,是Python&qu ...

  8. python写入csv文件的几种方法

    python写入csv文件的几种方法 最常用的一种方法,利用pandas包 import pandas as pd #任意的多组列表 a = [1,2,3] b = [4,5,6] #字典中的key值 ...

  9. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

最新文章

  1. 如何限制只有某些IP才能使用Tomcat Manager
  2. Python程序开发——第四章 字典与集合
  3. PHP个人博客网站设计 学生PHP个人博客网页源码 PHP MYSQL动态网站作品
  4. 深度人脸表情识别研究进展
  5. trang.jar转换xml到Javabean
  6. 95-180-050-源码-Watermark-允许固定数量延迟的分配器(BoundedOutOfOrdernessTimestampExtractor)
  7. 在linux系统下用rpm查看安装信息,rpm的查询命令
  8. 随想录(人脸检测之dlib)
  9. C#项目学习 心得笔记本
  10. 【好用的Mac分屏软件】Magnet for Mac 2.3
  11. 鸿蒙应用开发 | 时间选择器(TimePicker)的功能和用法
  12. 陈宁计算机辅助设计说课稿,《归去来兮辞》(并序)说课稿
  13. MySQL备份恢复之XtraBackup
  14. 【MCMC】PyMC2库进行MCMC估计线性回归参数
  15. 2022年我自己的主导价值观
  16. GPU显存 - 深度学习中 GPU 和显存分析
  17. 非常详细的优化问题求解器列表
  18. 数据分析的方法与技术
  19. html5背景文字,HTML5 Placeholder实现input背景文字提示效果
  20. mysql.sock作用-解决mysql.sock直接找不到了的问题-重新生成mysql.sock

热门文章

  1. 什么叫图文并茂?肝了1万多字!只为了让你更好地了解AQS的运行原理
  2. 封装组件——头像上传
  3. 微信小程序导航条配置图片背景
  4. 00.机器视觉学习的必要了解
  5. 有没有高清录制视频软件?如何录制清晰的视频?
  6. Nature Communications:主要精神和神经退行性疾病的共同机制
  7. Math/ML:序列监督学习-时间序列数据集/时间序列预测任务的简介、常用算法及其工具、案例应用之详细攻略
  8. CSS基础:vw和vh是什么
  9. 最经典的HashMap图文详解,干货满满!
  10. 固体物理 2022.10.15