《Python数据分析与应用》读书笔记

数据分析概述

数据分析技能,被认为是数据科学领域中数据从业人员需要具备的技能之一。下图为数据分析流程:
这里写图片描述

Numpy数值计算的基础

ndarry——存储单一数据类型的多维数组(属性:ndim,sahpe,size,dtype)
ufunc——对数组进行处理的函数

1、数组的创建

将Python序列,通过函数转为数组——numpy.array

numpy.array(object[, dtype, copy, order, subok, ndmin]))

python提供专门用于创建数组的函数——Array creation

numpy.arange([start,] stop[, step,][, dtype]) #一维数组,指定步长,不含终值
numpy.linspace(start, stop[, num, endpoint, ...]) #一维数组,指定元素个数,包含终止 
numpy.logspace(start, stop[, num, endpoint, base, ...]) 
#一维数组,指定原始个数,等比数列stop

numpy.ones(shape[, dtype, order]) #全一数组
numpy.zeros(shape[, dtype, order]) #全零数组
numpy.eye(N[, M, k, dtype]) #主对角线为一,其他为零的二维数组
numpy.diag(v[, k]) #除主对角线上元素外,其他为零的二维数组

使用numpy生成随机数——numpy.random

numpy.random.random([size]) #生成[0.1-1.0)之间的随机数
numpy.random.rand(d0, d1, …, dn) #生成给定形状的服从均匀分布的随机数
numpy.random.randn(d0, d1, …, dn) #生成给定形状的服从正态分布的随机数
numpy.random.randint(low, high=None, size=None, dtype='l') 
#生成给定上下限范围的随机数

2、数组的访问

import numpy as np
arr = np.array([[1,2,3,4],[2,3,4,5],[3,4,5,6]])

arr[:-1,0::2]   #这里2为步长,:-1包括开始不包括结束
#输出结果out: array([[1, 3],[2, 4]])

arr[[(0,1,0),(0,2,3)]] #这里取的为arr[0,0],arr[1,2],arr[0,3]
#输出结果out: array([1, 4, 4])

arr[1:,(0,1,3)] #整数函数索引,索引2,3行中第0,1,3列的元素
#输出结果out: array([[2, 3, 5],[3, 4, 6]])

arr[[True, False,True]]  #布尔索引,索引0,2行中的元素
#输出结果out: array([[1, 2, 3, 4],[3, 4, 5, 6]])

3、数组形态变换

使用reshape函数改变数组维度,要求指定位数和数组的元素数目吻合——reshape

numpy.ndarray.reshape(shape, order='C')
numpy.reshape(arr,newshape,order ='C' )
eg:numpy.reshape(arr,(2,6))
    arr.reshape(2,6)  #两者等价,返回形状的数组,均不改变arr本身的形状

使用ravel和flatten展平数组——arrays.ndarray

arr.ravel()  #横向展平,结果为[1,2,3,4,2,3,4,5,3,...]
arr.flatten() #横向展平,结果为[1,2,3,4,2,3,4,5,3,...]
arr.flatten('F') #纵向展平,结果为[1,2,3,2,3,4,3,4,5,...]

对数组进行组合和分割——numpy.hstack…

numpy.hstack(tup) #使用函数进行横向组合
numpy.vstack(tup)  #使用函数进行横向组合
numpy.concatenate(tup,axis = 1#使用函数进行横向组合
numpy.concatenate(tup,axis = 0#使用函数进行横向组合

numpy.hsplit(ary, indices_or_sections) #使用函数进行横向切割
numpy.vsplit(ary, indices_or_sections) #使用函数进行纵向切割
numpy.split(ary, indices_or_sections, axis=0) #axis=0纵向切割 axis=1横向切割

3、矩阵

Numpy对于多维数组,默认不行进行矩阵运算,矩阵运算时针对整改矩阵中每个元素进行的
创建矩阵函数——

  • 6
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值