Python基础——csv文件处理及可视化
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文件处理及可视化相关推荐
- Python基础——csv文件中某列数据替换为数字
csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...
- Python 基础 CSV文件的操作
1.CSV文件的打开 CSV文件可以使用open命令打开,但是一定要用close命令关闭. 也可以用with语句打开,操作结束后,自动关闭. with open(文件路径字符串,模式字符) as 文件 ...
- 使用python将csv文件数据可视化
简介 本文介绍如何通过python将csv文件数据简单地可视化. 使用到的文件 历年台风数量统计数据 代码 import csv import math import numpy as np impo ...
- python导入csv文件-Python从CSV文件导入数据和生成简单图表
原标题:Python从CSV文件导入数据和生成简单图表 我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数 ...
- Python处理CSV文件(二)
筛选特定的行 有些时候,你并不需要文件中所有的数据.例如,你可能只需要一个包含特定词或数字的行的子集,或者是与某个具体日期关联的行的子集.在这些情况下,可以用 Python 筛选出特定的行来使用. 你 ...
- Python读写CSV文件
文章目录 简介 初试 CSV读 CSV写 优雅读取 第一个值作为键名 每行读取为字典 合并读写 封装 封装1 备注 参考文献 简介 CSV,Comma-Separated Values,逗号分隔值文件 ...
- Python基础 - csv文件格式
python基础 - csv文件格式 csv(Comma Separated Values)格式是最通用的电子表格和数据库的导入导出格式,csv模块可以用来处理带分隔符的数据文件,是Python&qu ...
- python写入csv文件的几种方法
python写入csv文件的几种方法 最常用的一种方法,利用pandas包 import pandas as pd #任意的多组列表 a = [1,2,3] b = [4,5,6] #字典中的key值 ...
- python写入csv文件中文乱码解决方案
python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...
最新文章
- 如何限制只有某些IP才能使用Tomcat Manager
- Python程序开发——第四章 字典与集合
- PHP个人博客网站设计 学生PHP个人博客网页源码 PHP MYSQL动态网站作品
- 深度人脸表情识别研究进展
- trang.jar转换xml到Javabean
- 95-180-050-源码-Watermark-允许固定数量延迟的分配器(BoundedOutOfOrdernessTimestampExtractor)
- 在linux系统下用rpm查看安装信息,rpm的查询命令
- 随想录(人脸检测之dlib)
- C#项目学习 心得笔记本
- 【好用的Mac分屏软件】Magnet for Mac 2.3
- 鸿蒙应用开发 | 时间选择器(TimePicker)的功能和用法
- 陈宁计算机辅助设计说课稿,《归去来兮辞》(并序)说课稿
- MySQL备份恢复之XtraBackup
- 【MCMC】PyMC2库进行MCMC估计线性回归参数
- 2022年我自己的主导价值观
- GPU显存 - 深度学习中 GPU 和显存分析
- 非常详细的优化问题求解器列表
- 数据分析的方法与技术
- html5背景文字,HTML5 Placeholder实现input背景文字提示效果
- mysql.sock作用-解决mysql.sock直接找不到了的问题-重新生成mysql.sock