matplotlib数据可视化分析(1)-- numpy读取文件以及 ndarray 的基本操作

matplotlib z支持函数式绘图和面向对象式绘图。

  1. 函数式绘图,参考了 matlib 里面的绘图函数语法,简单容易上手。
  2. 面向对象式绘图,更懂 matplotlib 底层架构,有更多的功能。

matplotlib 使用控制台绘图

In [2]: import  matplotlib.pyplot as plt 

In [3]: plt.plot([1,2,3],[3,2,1])
Out[3]: [<matplotlib.lines.Line2D at 0x7f14c456d790>]

In [4]: plt.show()

在这里插入图片描述

numpy 简介

  • numpy 是Python 的开源的数值计算扩展
  • 可用来存储和处理大型矩阵,比 python 自身数据结构要高效
  • Numpy 将 Python 变成一种免费的强大的 Matlab 系统

创建 ndarray 的三种方式

  1. 从 python 的基础数据对象转化

     In [7]: import numpy as np
     
     In [8]: a = [1,2,3,4]
     
     In [9]: x1 = np.array(a)
     
     In [10]: x1
     Out[10]: array([1, 2, 3, 4])
     
     In [11]: type(x1)
     Out[11]: numpy.ndarray
    
  2. 通过 numpy 内置的函数生成

     In [14]: x2 = np.arange(11)
     
     In [15]: x2
     Out[15]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
    
  3. 从硬盘读取数据
    一般包括从数据库或者文件读取。
    演示一个从文件中读取数据的 demo
    文件如图所示 :
    在这里插入图片描述

我们想要读取这份数据的 Open,Close 以及 Volume 三列的数据。

import numpy as np
x = np.loadtxt('000001.csv', delimiter=',', skiprows=1,
               usecols=(1, 4, 6), unpack=False)
print x

delimiter 是使用的分隔符, skiprows=1 意思为跳过第一行标题,usecols=(1, 4, 6) 意思是取第 1,4,6 列的值。

在这里插入图片描述

打印结果,可以看到三列数据放在一个数据里面,我们可以设置 unpack = True ,将每一列的数据单独展示。

import numpy as np
open, close, volume = np.loadtxt('000001.csv', delimiter=',', skiprows=1,
               usecols=(1, 4, 6), unpack=True)

print open, close, volume

ndarray 的基本操作

基本的运算
import numpy as np

c = np.arange(11)
# c
print c
# c + c
print c+c
# c*2
print c*2
# c-c
print c-c
# c/2
print c/2
# c/2.0
print c/2.0
取值的截取
# coding:utf-8
import numpy as np

c = np.arange(11)
# 取最后一个数
print c[-1]
# 截取
print c[0:5]
print c[5:]
print c[::2]
print c[::-1]
常用函数
# coding:utf-8
import numpy as np

# 生成 10 个 1-100 之间的随机数
c = np.random.randint(1, 100, 10)
print c

# np.func(x)
# x.func()

# 取数组最小值
print np.min(c)
print c.min()

# 取数组最大值
print np.max(c)
print c.max()

# 取均值
print np.mean(c)
print c.mean()

# 取中位数
print np.median(c)
# print c.median()

# 取方差
print np.var(c)
print c.var()

# 排序
d = np.sort(c)
print c
print d

print "-"*10

print c
c.sort()
print c

一般来说,调用函数的两种用法的效果是一样的。
但是要注意两种调用函数进行排序,对数组自身的影响。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【知识准备】 探索性数据分析的基本原理和方法;Python语言及相关包的运用;Pandas;NumpyMatplotlib;Seaborn;Scikit-Leart。 【实训要求】 1、观察样本数据的结构和数据特征; 2、读取样本数据,观察样本数据结构和头尾各10行数据; 3、对样本数据进行分析,找出业务数据中的分布规律; 4、用可视化方法对分析结果进行展示。 5、观察并找出每个特征的样本数据的缺失值和异常值等并提出解决办法; 6、对样本数据进行预处理; 7、采集样本数据存入HBase数据库(选)。 【实训内容】 任务2-1 1、数据源:“sodadata”文件夹下“联通数据_Sample”。 2、项目数据集: 表一结果_Sample_1000条.csv 表二结果_Sample_1000条.csv 3、针对表一样本数据: (1)分析并展示不同时间段采样的基站服务区内移动用户的活跃度分布; (2)分析并展示服务区内移动用户工作时间和休息时间的活跃度分布,筛选出当地居民和外来移动用户; (3)分析用户活动规律,根据其通信特点进行分类。(选做) 4、针对表二样本数据: (1)分析并展示样本数据中年龄、性别、终端品牌等各类数据的分布规律; (2)分析缺失和异常数据,提出处理预处理方案; (3)筛选高价值重点用户(提示:从业务量或消费等方面思考); (4)如果表一和表二从相同的服务区采集,请思考并提出你的进一步分析方案和商业营销方案。(选做) 5、用Jupyter Notebook根据实训要求编写程序和文档,最终结果打印输出为PDF文档;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值