xx资源网(xxURLs.com)
发布资源

Python数据可视化编程实战

第一章:准备工作环境

WinPython-32bit-3.5.2.2Qt5.exe

1.1 设置matplotlib参数

配置模板以方便各项目共享

D:\Bin\WinPython-32bit-3.5.2.2Qt5\python-3.5.2\Lib\site-packages\matplotlib\mpl-data

三种方式:

当前工作目录

用户级 Documents and Setting

安装级配置文件

D:\Bin\WinPython-32bit-3.5.2.2Qt5\python-3.5.2\Lib\site-packages\matplotlib\mpl-data

第二章: 了解数据

导入和导出各种格式的数据,除此之外,还包括清理数据的方式比如归一化、缺失数据的添加、实时数据检查等类。

 

2.1 从csv文件中导入数据

如果想加载大数据文件,通常用NumPy模块。

import csv

import sys

filename = 'E:\\python\\Visualization\\2-1\\10qcell.csv'

data = []

 

try:

    with open('E:\\python\\Visualization\\2-1\\21.csv') as f:

        reader = csv.reader(f, delimiter=',')

        data = [row for row in reader]

except csv.Error as e:

    sys.exit(-1)

 

for datarow in data:

    print( datarow)

 

2.2 从excel文件导入数据

import xlrd

import os

import sys

path = 'E:\\python\\Visualization\\2-3\\'

file = path + '2-2.xlsx'

wb = xlrd.open_workbook(filename=file)

ws = wb.sheet_by_name('Sheet1')   #指定工作表

dataset =  []

 

for  r in range(ws.nrows):

    col = []

    for c in range(ws.ncols):

        col.append(ws.cell(r,c).value)  #某行某列数值

    dataset.append(col)

 

print(dataset)

 

2.3 从定宽数据文件导入

import struct

import string

path = 'E:\\python\\Visualization\\'

file = path + '2-4\\test.txt'

 

mask = bytes('3c4c7c',encoding='utf-8')

 

with open(file, 'rb') as f:

  for line in f:

    fields = struct.unpack_from(mask,line)

    print([field.strip() for field in fields])

 

2.4 从制表符分割的文件中导入

和从csv读取类似,分隔符不一样而已。

2.5 导出数据到csv、excel

示例,未运行

def write_csv(data)

f = StringIO.StringIO()

writer = csv.writer(f)

for row in data:

    writer.writerow(row)

return f.getvalue()

 

2.6 从数据库中导入数据

连接数据库

查询数据

遍历查询到的行

2.7 清理异常值

MAD:median absolute deviation 中位数绝对偏差

box plox: 箱线图

坐标系不同,显示效果的欺骗性:

 

 

from pylab import *

 

x = 1e6*rand(1000)

y = rand(1000)

 

figure()

 

subplot(2,1,1)

scatter(x,y)

xlim(1e-6,1e6)

 

subplot(2,1,2)

scatter(x,y)

xscale('log')

xlim(1e-6,1e6)

 

show()

 

2.8 读取大块数据文件

python擅长处理文件及类文件对象的读写。它不会一次性地加载所有内容,而是聪明地按照需要来加载。

 

他山之石:

并行方法MapReduce,低成本获得更大的处理能力和内存空间;

多进程处理,如thread、multiprocessing、threading;

如果重复的处理大文件,建议建立自己的数据管道,这样每次需要数据以特定的形式输出时,不必再找到数据源进行手动处理。

2.9 生成可控的随机数据集合

模拟各种分布的数据。

2.10 数据平滑处理

方法:卷积滤波等

他山之石:

许多方法可以对外部信号源接收到的信号进行平滑处理,这取决于工作的领域和信号的特性。许多算法都是专门用于某一特定的信号,可能没有一个通用的解决方法普遍适用于所有的情况。

一个重要的问题是:什么时候不应该对信号进行平滑处理?

对于真实信号来说,平滑处理的数据对于真实的信号来说可能是错误的。


资源链接
标签

python大数据人工智能

发布日期

2019-02-23

擦亮日期

2019-02-23

扫一扫分享下载
资源网址导航
综合

图书酷 361图书馆 全索引

手机

电脑

影音

专业

游戏

体育

儿童

教育

资源分享站

其他