《Python数据分析》笔记2——统计学与线性代数
统计学与线性代数
用Numpy进行简单的描述性统计计算
import numpy as np
from scipy.stats import scoreatpercentile
data=np.loadtxt("mdrtb_2012.csv",delimiter=',',usecols=(1,),skiprows=1,uppack=True)
#加载数据 print("Max method",data.max())
print("Max function",np.max(data)) print("Min method",data.min())
print("Min function",np.min(data)) print("Mean method",data.mean())
print("Mean function",np.mean(data)) print("Std method",data.std())
print("Std function",np.mean(data)) print("Median",np.median(data))
print("Score at percentile 50",scoreatpercentile(data,50))
用Numpy进行线性代数运算
子程序包numpy.linalg提供了许多线性代数例程,我们可以用它来计算矩阵的逆、计算特征值、求解线性方程或计算行列式。对于Numpy来说,矩阵可以用ndarray的一个子类来表示。
import numpy as np
A=np.mat("2 4 6;4 2 6;10 -4 18")
print("A\n",A)
inverse=np.linalg.inv(A)
print("inverse of A\n",inverse)
注意:np.mat的构造
用Numpy解线性方程组
矩阵可以通过线性方式把一个向量变换成另一个向量,因此从数值计算的角度看,这种操作对应于一个线性方程组。Numpy.linalg中的solve()子例程可以求解类似Ax=b这种形式的线性方程组,其中A是一个矩阵,b是一维或者二维数组,而x是未知量。
import numpy as np
A=np.mat("2 4 6;4 2 6;10 -4 18")
print("A\n",A)
b=np.array([0,8,-9])
print("b\n",b)
#调用solve()函数
x=np.linalg.solve(A,b)
print("solution",x)
#利用dot()函数进行验算
print("check\n",np.dot(A,x))
用Numpy计算特征值和特征向量
特征值是方程式Ax=ax的标量解,其中A是一个二维矩阵,而x是一维向量。特征向量实际上就是表示特征值的向量。
可以用子程序包numpy.linalg的eigvals()和eig()函数来获得矩阵的特征值和特征向量,并通过dot()函数来验算结果。
import numpy as np
A=np.mat("2 4 6;4 2 6;10 -4 18")
print("A\n",A)
#利用eig()函数计算特征值
print("Eigenvalues",np.linalg.eigvals(A))
#利用eig()函数取得特征值和特征向量
eigenvalues,eigenvectors=np.linalg.eig(A)
print("First tuple of eig ", eigenvalues)
print("second tuple of eig",eigenvectors)
Numpy随机数
对于Numpy,与随机数有关的函数都在random子程序包中。
我们既可以生成连续分布的随机数,也可以生成非连续分布的随机数。分布函数有一个可选的size参数,它能通知Numpy要创建多少个数字。我们可以用整型或者元祖来给这个参数赋值,这时会得到相应形状的数组,其值由随机数填充。离散分布包括几何分布、超几何分布和二项式分布。连续分布包括正态分布和对数正态分布。
用二项分布:np.random.binomial()函数
用正态分布:np.random.normal()函数
创建掩码式Numpy数组
数据常常是凌乱的,并且含有空白项或者无法处理的字符,好在掩码式数组可以忽略残缺的或无效的数据点。numpy.ma子程序包提供的掩码式数组隶属于ndarray,带有一个掩码。
这里以lena的相片为数据源,假设某些数据已经损坏。下面用掩码处理
1.创建一个掩码
为了得到一个掩码式数组,必须规定一个掩码。
random_mask=np.random.randint(0,2,size=lena.shape)
2创建一个掩码式数组
下面应用掩码来创建一个掩码式数组
masked_array=np.ma.array(lena,mask=random_mask)
《Python数据分析》笔记2——统计学与线性代数的更多相关文章
- python数据分析笔记——数据加载与整理]
[ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...
- Python数据分析笔记
最近在看Python数据分析这本书,随手记录一下读书笔记. 工作环境 本书中推荐了edm和ipython作为数据分析的环境,我还是刚开始使用这种集成的环境,觉得交互方面,比传统的命令行方式提高了不少. ...
- python数据分析笔记中panda(1)
1 例子1 from pandas import read_csv; df = read_csv('H://pythonCode//4.1//1.csv') df 截图 1.1 修改表的内容编码 df ...
- Python数据分析笔记目录
速查笔记 使用实例 Pandas-数据导入 (未完成) Pandas-数据探索 基础属性 shape indexs columns values dtype/dtypes 汇总和计算描述统计 coun ...
- python数据分析笔记中panda(3)
1 按照空格将一列的内容分为两列 from pandas import Series; from pandas import DataFrame; from pandas import read_cs ...
- python数据分析笔记中panda(2)
1 将手机号码分开为运营商,地区和号码段 from pandas import read_csv; df = read_csv("H:\\pythonCode\\4.6\\data.csv& ...
- 【读书笔记与思考】《python数据分析与挖掘实战》-张良均
[读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...
- 《Python数据分析与挖掘实战》读书笔记
大致扫了一遍,具体的代码基本都没看了,毕竟我还不懂python,并且在手机端的排版,这些代码没法看. 有收获,至少了解到以下几点: 一. Python的语法挺有意思的 有一些类似于JavaSc ...
- 《Python 数据分析》笔记——pandas
Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的 ...
随机推荐
- chrome扩展(浏览器插件)开发实用教程
原创文章,转载请注明出处. 作者:简体字丶冯; QQ:564372931 1.Chrome能搞这些事情 (1) 操作浏览器中打开的页面DOM 这能做什么哪?譬如说你想修改页面DOM(DOM是什 ...
- Angularjs学习笔记8_directive2
指令难点在于参数 angular.module('app', []) .directive('myDirective', function() { return { restrict: String, ...
- Java获取网卡的mac地址
为了项目的安全,有时候需要得到电脑的唯一码,比如:网卡的mac地址.和大家分享一下,下面是项目中用到的工具类: import java.io.BufferedReader;import java.io ...
- Unity3d Serialize问题
备忘: 1. ScriptableOjbect中,由于Serialization的原因,不能使用基类引用来存储子类对象,这样都会导致数据丢失 2. 无法直接对Unity的数据如,vector3, qu ...
- 个人博客开发之xadmin 布局和后台样式
项目源码下载:http://download.vhosts.cn 一. xadmin 后台配置注册信息 1. 在apps 的blogs 和 users 两个app中添加adminx.py文件 vim ...
- js模板引擎artTemplate快速上手
腾讯的artTemplate 1,编写模板 (采用script标签并带有属性id和type="text/html") <script id="test" ...
- ActiveMQ部署步骤和后台管理网站Service Unavailable问题解决笔记
最近部署ActiveMQ的时候,发现有的服务器可以打开后台管理网址,有的服务器无法打开,Jetty报503 Service Unavailable. 搞了很久终于发现了问题,现将部署和解决过程做笔记如 ...
- PostgreSQL tips
tip 1 在sql中我们可以设置一个列自增长identity(1,1),但在postgresql中却没有这个关键字定义.但postgresql也有实现相关功能,那就是只需要将该列数据类型标记为ser ...
- Python_selenium之执行JavaScript
Python_selenium之执行JavaScript 一.简略的介绍selenium执行JavaScript 1. Example 1进入浏览器之后,弹出一个alert弹框 #coding:utf ...
- 第11章 Docker Registry 相关问题
11.1 我 docker push 的时候怎么报 authentication required 错误? 因为你没有登录.如果是向 Docker Hub 推送镜像,需要在注册一个用户: https: ...