《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)

原文地址:https://www.cnblogs.com/yifdu25/p/8393632.html

时间: 2024-10-10 10:31:50

《Python数据分析》笔记2——统计学与线性代数的相关文章

python数据分析笔记——数据加载与整理]

[ python数据分析笔记--数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&idx=4&sn=bf74cbf3cd26f434b73a581b6b96d9ac&chksm=bdbd1b388aca922ee87842d4444e8b6364de4f5e173cb805195a54f9ee073c6f5cb17724c363&mpshare=1&scene=

python数据分析笔记中panda(2)

1 将手机号码分开为运营商,地区和号码段 1 from pandas import read_csv; 2 3 df = read_csv("H:\\pythonCode\\4.6\\data.csv"); 4 5 6 #转换成字符数据 方便用slice 7 df['tel'] = df['tel'].astype(str); 8 9 #字符的抽取:根据已知列数据的开始和结束的位置 抽取新的列 slice(start,stop) 10 #运营商 11 bands = df['tel']

《Python 数据分析》笔记——pandas

Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的数据结构:DataFrame和Series pandas数据结构之DataFrame pandas的DataFrame数据结构是一种带标签的二维对象,与Excel的电子表格或者关系型数据表非常相似. 可以用下列方式来创建DataFrame: 1.从另一个DataFrame创建DataFrame 2.

数据分析学习资料《利用Python进行数据分析第2版》+《Python数据分析与挖掘实战》+《从零开始学Python数据分析与挖掘》

数据分析涉及统计学.线性代数.图形分析绘制.数据挖掘等知识,推荐系统学习电子资料<利用Python进行数据分析第2版>.<Python数据分析与挖掘实战>.<从零开始学Python数据分析与挖掘>电子书和代码测试. <利用Python进行数据分析第2版>电子书代码,每一章之间有递进关系,适合在Python入门<Python编程从入门到实践>电子书之后阅读,本专门针对数据分析领域的.我细致地读了一遍,敲了一遍代码,一开始没有头绪,进展缓慢,后来逐渐

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记大纲

因为工作需要,开始了python的学习之旅.学习的主要内容包括python基础知识.python数据分析基础知识.numpy专题学习.基于python的机器学习算法实现. 下面是系列笔记的一个大纲,希望朋友们多提意见和建议. [一]python基础知识 python基础教程学习笔记---(1)基础语法 python基础教程学习笔记---(2)列表和元组 python基础教程学习笔记---(3)字符串 python基础教程学习笔记---(4)字典 python基础教程学习笔记---(5)条件.循环

Python数据分析I

Python数据分析概述 数据分析的含义与目标 统计分析方法 提取有用信息 研究.概括.总结 Python与数据分析 Python: Guido Van Rossum Christmas Holiday, 1989 特点:简介 开发效率搞 运算速度慢(相对于C++和Java) 胶水特性(集成C语言) 数据分析:numpy.scipy.matplotlib.pandas.scikit-learn.keras Python数据分析大家族 numpy(Numeric Python): 数据结构基础.是

python学习笔记目录

人生苦短,我学python学习笔记目录:week1 python入门 week2 python基础week3 python进阶week4 python高阶week5 python数据结构与算法week6 网络编程week7 数据库技术之入门week8 数据库技术之MySQL和redis和mongodbweek9 前端技术之HTML和CSSweek10 前端技术之JavaScript和DOMweek11 前端框架之jQueryweek12 前端框架之bootstrapweek13 网络框架之入门w

Python数据分析班

第一课 Python入门知识点1:Python安装知识点2:常用数据分析库NumPy.Scipy.Pandas.matplotlib安装知识点3:常用高级数据分析库scikit-learn.NLTK安装知识点4:IPython的安装与使用知识点5:Python2与Python3区别简介实战项目:Python常用科学计算第二课 准备数据与Numpy知识点1:多维数组对象知识点2:元素级别处理函数知识点3:利用数组进行数据处理知识点4:文件输入输出知识点5:线性代数相关功能以及线性代数基础知识知识点