《利用python进行数据分析》笔记一

一、 Numpy

import numpy as np

test_data=np.array(data,dtype=np.int32)
np.asarray(data) 将数据转化为ndarray
np.arange() 创建序号
np.ones()创建元素均为1的ndarray
np.ones_like(data)创建与data同维度的元素均为1的ndarray
np.zeros() np.zeros_like()
np.empty() np.empty_like() 类似上,但empty创建的ndarray中元素为未定义的垃圾数
np.eye/identity() 创建n维方阵,对角线元素为1,其余元素为0(eye默认浮点型,identity默认整型)
test_data.astype(datatype) 改变数据类型,并创建新ndarray

《利用python进行数据分析》笔记一_第1张图片
《利用python进行数据分析》笔记一_第2张图片
《利用python进行数据分析》笔记一_第3张图片
《利用python进行数据分析》笔记一_第4张图片
《利用python进行数据分析》笔记一_第5张图片
《利用python进行数据分析》笔记一_第6张图片

在复杂计算中,浮点数可能累计近似错误,在比较大小时,只能比较一位小数

不同大小的数组间的运算叫做广播(broadcasting)
矢量化使得不用循环即可对数组中元素进行批量运算

当给一个切片赋一个标量值时,该赋值会广播到切片中的每个元素,同时改变源数组对应位置的元素值

若欲操作切片而不影响源数组中的值,需要用test_data[n:m].copy()复制出一个新的变量
切片方法:整数索引,冒号
花式索引(利用整数数组进行索引)会产生新ndarray

通过布尔型索引得到切片,将总是为切片创建副本
布尔型的“或”、“且”、“非”符号为“|”、“&”、“!=”/“-”(条件要用圆括号括起来)

二维数组转置:.T对象
高维数组转置:.transpose((轴编号))
转置返回源数据的视图

通用函数(ufunc)是一种对ndarray执行元素级运算的函数

np.sqrt(data)
np.exp(data)
np.maximum(data1,data2)
np.add(data1,data2)

np.where(con,data1,data2) 根据条件取值

数学和统计方法

可以用对象方法和numpy函数方法

求平均数:
arr.mean()
np.mean(arr)
*涉及到高维数组需要确定轴时:
arr.mean(axis=data)

np.sort计算分位数:
np.sort(arr)
arr[int(0.3*length(arr))]

返回arr的30%下分位数

《利用python进行数据分析》笔记一_第7张图片
《利用python进行数据分析》笔记一_第8张图片

集合运算

找出一维数组中的唯一(distinct)值并排序返回:
np.unique(data)
sorted(set(data))

《利用python进行数据分析》笔记一_第9张图片

用于数组的文件输入与输出
np.save(‘filename’,data):产生.npy文件
np.savez(‘filename’,a=data1,b=data2):产生.npz文件(类似字典)
np.savetxt(‘filename’,data,delimiter=’,’)
data1=np.load(‘filename.npz’)
data2=np.load(‘filename.npy’)
data3=np.loadtxt(‘filename.txt’,delimiter=’,’)

你可能感兴趣的:(学习笔记,python)