python数据分析函数_python数据分析(二)

本文详细介绍了Python科学计算库Numpy的使用,包括数据特性、索引与切片、数据类型与数值计算等方面。通过实例展示了如何进行数组操作、类型转换、数值计算,以及文件读写等功能。
摘要由CSDN通过智能技术生成

科学计算库(Numpy)

numpy 在数据科学领域使用广泛,尤其是在矩阵计算上非常高效。

一、数据特性

import numpy as np //导入软件包

array2 = np.array([1,2]) //可对数组进行数组操作

array2 = array2+1 //array2变为[2,3]

array2.shape // 显示矩阵是几维的,如此时输出(2,)表示一维有两个元素

在ndarray中所有元素都是同一类型,否则会自动向下转换,int ->float->str

c47cf9644f97475d8cb1bf54ec78d6d8.png

type(array3) //打印当前数据格式 输出 ndarray

array3.dtype //数据类型 字符

array3.size //元素个数

array3.ndim //数据维度

二、索引与切片

切取数组中的一部分

2a33b537611f3e7e639e2c7390fda173.png

array3[1:3] //从0开始,左闭右开,第一个到第三个

array3[-1:] //从倒数第二个开始至最后,倒数从1开始

array4[1] //从0开始,得到第一行

array4[:,2] //从0开始,得到第2列

利用bool类型进行筛选

np.arange(0,100,10) //从0开始到100每隔10个数取一个元素

np.random.rand(10) //在0到1区间上取10个随机数

bba5d6b254e3d442114086275d8757c1.png

np.logical_and(array1,array2) //与操作

np.logical_or(array1,array2) //或操作

三、数据类型与数值计算

类型转换

04fcbcb1438202a928f18f1ab7e604ba.png

复制与粘贴

e83641aa30df3c0545ea12909c0660f7.png

2118c9f7c44a5df4c8f5d3e9bced3ff5.png

数值运算

np.sum(array) //对矩阵所有元素求和的值

np.sum(array,0) //对矩阵所有列元素求和的向量

np.sum(array,1) //对矩阵所有行元素求和的向量

3718c50cb7a9277988e05867ce574f16.png

其他可以进行数据分列分行计算的函数

array.prod( ) //各元素累乘 ,0按列,1按行

array.min() //各元素最小,0按列,1按行

array.mean() //各元素求和取均值,0按列,1按行

array.std() //各元素求标准差,0按列,1按行

array.var() //各元素求方差

array.clip(2,4) //比2小的全为2,比4大的全为4

array.round(decimals=2) //取精度,保留两位

array.argmin() //获得最小值的索引位置,0按列,1按行

np.multiply(array1,array2) //对应位置相乘

np.dot(array1,array2) //矩阵相乘

np.sort(array) //各元素排序,0按列,1按行

np.argsort(array) //各元素排序返回索引,0按列,1按行

np.linspace(0,10,10) //在0~10之间产生10个等间距数据

np.searchsorted(array1,array2)//array2中的数应该插入array1中的位置

np.lexsort([-1*array1[:,0]]) //第一列降序排序

np.lexsort([array1[:,0]]) //第一列升序排序

数组形状操作

array = np.arange(10)

array.shape = 2,5 //数组变成2*5的矩阵

array=array3[np.newaxis,:] //增加矩阵维度

array.transpose() //矩阵转置

array.T //矩阵转置后打印

np.concatenate((a,b))与np.stack((a,b))区别

d76d631012755670e9064d7086bdf0bc.png

创建数组函数

np.arange(2,20,2) //2到20内以2为间隔的矩阵

np.logspace(0,1,5) //以10为底的log函数

np.r_[0:5:1] //快速创建列向量

np.c_[0:5:1] //快速创建行向量

np.zeros(3) //有三个元素的0矩阵

np.zeros((3,3))/ np.ones((3,3)) //有3*3的0/1矩阵

np.ones((3,3))*8

a = np.empty(6) a.fill(1) //创建矩阵

np.zeros_like(array) //创建矩阵的维度与array一致

np.identity(5) //对角线有数值并且为1

随机模块

np.random.rand(3,2) //随机创建3*2的矩阵

np.random.randint(10,size = (5,4)) //0到10之间的5*4的随机整数

np.random.rand() //一个随机数

np.random.rand(0,10,3) //0到10之间3个随机数

np.random.normal(0,0.1,10) //均值0,标准差0.1的高斯分布随机数

np.set_printoptions(precision = 2) //全局设置,控制结果输出

np.random.shuffle(array) //每次执行结果不一样

np.random.seed(100) //指定随机种子

文件读写

写入一个文件及从文件读取数据

83bdd2f1ae4b7613dc2b3180e82cf006.png

写入文件后分格符及可以跳过第一行

ee416d39304e7d1627fd6aa4b2b51723.png

print (help(np.loadtxt)) //查看loadtxt的帮助文档

cf0f95c099c4d69d2402e23d1273b6e2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值