python数据分析-02numpy库

#数学基础回顾之矩阵运算#基本概念    #矩阵:矩形的数组,即二维数组。其中向量和标量都是矩阵的特例    #向量:是指1*n或者n*1的矩阵    #标量:1*1的矩阵    #数组:N维的数组,是矩阵的延伸

#特殊矩阵:    #全0全1矩阵    #单位矩阵

#矩阵加减运算:    #相加,减的两个矩阵必须要有相同的行和列    #行和列对应元素相加减

#数组乘法(点乘)    #数组乘法(点乘)是对应元素之间的乘法

#矩阵乘法:    #设A为m*p的矩阵,B为p*n的矩阵,m*n的矩阵为C为A*B的乘积,即为C=AB#       [a1  b1   *       [c1 d1]        [a1*c1+b1*c2        a1*d1+b1*d2#       a2  b2 ]          c2  d2 ]    =   a2*c1+b2*c2        a2*d1+b2*d2]

#数组的创建和访问import numpy as np# a = np.array([1,2,3,4])# print(a) #[1 2 3 4] 一维数组# b = np.array([[1,2,3,4],[5,6,7,8]])# print(b) #[[1 2 3 4][5 6 7 8]] #二维数组# print(b.shape)#(2, 4) 二维4列# print(b.size) #8  数组元素个数# print(b.dtype) #int32 元素类型# array_3 = np.array([[1.0,2,3],[4.0,5,6]])# print(array_3.dtype) #float64 会统一为一种数据类型# array_4 = np.arange(1,10,2)# print(array_4) #[1 3 5 7 9]# print(np.zeros(5)) #[0. 0. 0. 0. 0.]#print(np.zeros([2,3])) #两行三列# [[0. 0. 0.]#  [0. 0. 0.]]#print(np.eye(5)) #生成单位矩阵# [[1. 0. 0. 0. 0.]#  [0. 1. 0. 0. 0.]#  [0. 0. 1. 0. 0.]#  [0. 0. 0. 1. 0.]#  [0. 0. 0. 0. 1.]]

# a = np.arange(1,10)# print(a) #[1 2 3 4 5 6 7 8 9]# print(a[1]) #2# print(a[1:5]) #[2 3 4 5]

# b = np.array([[1,2,3],[4,5,6]])# print(b)# # [[1 2 3]# #  [4 5 6]]# print(b[1][0]) #4 或者# print(b[1,0]) #4

# c = np.array([[1,2,3],[4,5,6],[7,8,9]])# print(c)# [[1 2 3]#  [4 5 6]#  [7 8 9]]#print(c[:2,1:])# [[2 3]#  [5 6]]

#数组和矩阵的运算#快速创建数组# a = np.random.randn(10)# print(a) #正态分布的数组# [ 0.102982   -0.42399255 -0.02220043  0.50845286 -0.72317458  1.875959460.68178584 -1.84984881 -0.77927156  0.55651919]# b = np.random.randint(10)# print(b)#4 随机生成一个小于10的整数# b = np.random.randint(10,size=20)# print(b) #[8 0 9 5 9 2 0 3 1 8 4 3 3 3 2 8 4 9 7 3] #生成20个元素的随机数组# b = np.random.randint(10,size=20).reshape([4,5])# print(b)# [[5 7 0 0 4]#  [6 9 2 4 4]#  [4 4 4 7 0]#  [0 1 8 9 3]]

#数组的运算:对应元素的相乘加减等等# a = np.random.randint(10,size=20).reshape([4,5])# print(a)# b = np.random.randint(10,size=20).reshape([4,5])# print(b)# print(a+b)# [[0 4 3 1 8]#  [9 2 4 5 0]#  [5 6 9 1 5]#  [5 1 4 1 3]]# [[8 1 2 0 1]#  [1 3 4 5 2]#  [5 9 4 7 6]#  [2 5 2 5 9]]# [[ 8  5  5  1  9]#  [10  5  8 10  2]#  [10 15 13  8 11]#  [ 7  6  6  6 12]]

#矩阵#生成矩阵# a = np.mat([[1,2,3],[4,5,6]])# print(a)# [[1 2 3]#  [4 5 6]]

#数组与矩阵装换# a = np.random.randint(10,size=20).reshape([4,5])# print(a)# [[2 0 9 1 0]#  [5 2 1 6 7]#  [3 5 3 3 9]#  [7 8 6 3 1]]# print(np.mat(a))#是矩阵matrix类型# [[2 0 9 1 0]#  [5 2 1 6 7]#  [3 5 3 3 9]#  [7 8 6 3 1]]

#矩阵的运算# a = np.random.randint(10,size=20).reshape([4,5])# A = np.mat(a)# b = np.random.randint(10,size=20).reshape([4,5])# B = np.mat(b)# print(A)# print(B)# print(A+B) #对应位置相加# print(A-B) #对应位置相减# # [[8 0 3 7 6]# #  [5 6 0 0 2]# #  [5 3 9 8 8]# #  [9 6 2 3 0]]# # [[9 9 2 3 1]# #  [7 3 8 9 1]# #  [2 8 9 9 3]# #  [5 1 6 7 5]]# # [[17  9  5 10  7]# #  [12  9  8  9  3]# #  [ 7 11 18 17 11]# #  [14  7  8 10  5]]# # [[-1 -9  1  4  5]# #  [-2  3 -8 -9  1]# #  [ 3 -5  0 -1  5]# #  [ 4  5 -4 -4 -5]]# print(A*B) #会报错,矩阵运算A矩阵的行数需要等于B矩阵的列数

# a = np.mat(np.random.randint(10,size=20).reshape([4,5]))# b = np.mat(np.random.randint(10,size=20).reshape([5,4]))# print(a)# print(b)# print(a*b)# [[7 1 8 8 8]#  [2 7 2 1 6]#  [6 6 4 0 8]#  [3 3 6 1 0]]# [[3 9 0 5]#  [5 9 4 3]#  [1 0 1 4]#  [8 3 0 4]#  [0 5 4 5]]# [[ 98 136  44 142]#  [ 51 114  54  73]#  [ 52 148  60 104]#  [ 38  57  18  52]]

#Array常见函数# a = np.random.randint(10,size=20).reshape([4,5])# print(a)# # [[4 0 5 7 5]# #  [3 3 6 5 1]# #  [8 1 2 5 1]# #  [7 6 5 5 6]]# print(np.unique(a)) #[0 1 2 3 5 6 7 8 9] 返回唯一的元素# print(sum(a)) #[13 11 21 19 21] 返回列的和# print(sum(a[0])) #24 返回行的和# print(sum(a[:,1])) #24 返回某一列的和## print(max(a)) #返回最大元素# print(max(a[0])) #返回某行最大元素# print(max(a[:,1]))#返回某列最大元素

#array的input和output#使用pickle序列化numpy arrayimport pickle

# x = np.arange(10)# print(x)# f = open("x.pkl","wb")# pickle.dump(x,f) #将x pickle到硬盘上去产生的文件

#读取硬盘数据# f = open("x.pkl","rb")# print(pickle.load(f)) #[0 1 2 3 4 5 6 7 8 9]

# x = np.arange(10)# np.save("one_array",x)#直接将数组序列化到硬盘中# #读取数据# print(np.load("one_array.npy")) #[0 1 2 3 4 5 6 7 8 9]

# x = np.arange(10)# y = np.arange(20)# np.savez("two_array.npz",a=x,b=y)# c = np.load("two_array.npz")# print(c["a"]) #[0 1 2 3 4 5 6 7 8 9]# print(c["b"]) #[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]

原文地址:https://www.cnblogs.com/nikecode/p/11130865.html

时间: 2024-10-17 16:24:28

python数据分析-02numpy库的相关文章

python数据分析-03pandas库

#Seriesimport numpy as npimport pandas as pd # s1 = pd.Series([1,2,3,4])# print(s1)# # 0 1# # 1 2# # 2 3# # 3 4# # dtype: int64# print(s1.values) #[1 2 3 4]# print(s1.index) #RangeIndex(start=0, stop=4, step=1) #传入数组# s2 = pd.Series(np.arange(10))# p

python数据分析numpy库学习

import numpy as np def asum(a_list,b_list,n1=2,n2=3): a = np.array(a_list) b = np.array(b_list) c = pow(a,n1) + pow(b,n2) return c a_lst = [1,2,3,4] b_lst = [2,3,4,5] print(asum(a_lst,b_lst)) #np.array()生成数据对象ndarray a = np.array([[1,2,3,4],[1,2,3,4]

基于Python数据分析与机器学习案例实战教程

课程--基于Python数据分析与机器学习案例实战教程 分享网盘下载--https://pan.baidu.com/s/1jHSaRAY 密码: xk37 课程背景基于数据分析与机器学习领域,使用python作为课程的实战语言,随着大数据与人工智能领域日益火爆,数据分析和机器学习建模成了当下最热门的技术,课程旨在帮助同学们快速掌握python数据分析包以及经典机器学习算法并通过对真实数据集分析进行实战演示. 课程风格通俗易懂,基于真实数据集案例实战. 主体课程分成三个大模块 (1)python数

高端实战 Python数据分析与机器学习实战 Numpy/Pandas/Matplotlib等常用库

课程简介:? ? 课程风格通俗易懂,真实案例实战.精心挑选真实的数据集为案例,通过Python数据科学库numpy,pandas,matplot结合机器学习库scikit-learn完成一些列的机器学习案例.课程以实战为基础,所有课时都结合代码演示如何使用这些python库来完成一个真实的数据案例.算法与项目相结合,选择经典kaggle项目,从数据预处理开始一步步代码实战带大家快速入门机器学习.旨在帮助同学们快速上手如何使用python库来完整机器学习案例. ------------------

《Python数据分析常用手册》一、NumPy和Pandas篇

一.常用链接: 1.Python官网:https://www.python.org/ 2.各种库的whl离线安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn 3.数据分析常用库的离线安装包(pip+wheels)(百度云):http://pan.baidu.com/s/1dEMXbfN 密码:bbs2 二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和

转:python 的开源库

Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅里叶变换和随机数生成函数. SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的计算.其功能与软

[Python数据分析]新股破板买入,赚钱几率如何?

这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. ================================================================ Python基础: 中国大学Mooc,南京大学,张莉老师 -<用Python玩转数据> 了解基本的语法和常用函数就行了,其他的用的时候再搜. 财经数据源: TuShare

总是在起头可是能怎么办呢 Python数据分析

目录 前言1 第1章准备工作5 本书主要内容5 为什么要使用Python进行数据分析6 重要的Python库7 安装和设置10 社区和研讨会16 使用本书16 致谢18 第2章引言20 来自bit.ly的1.usa.gov数据21 MovieLens1M数据集29 1880—2010年间全美婴儿姓名35 小结及展望47 第3章IPython:一种交互式计算和开发环境48 IPython基础49 内省51 使用命令历史60 与操作系统交互63 软件开发工具66 IPythonHTMLNoteboo

Python数据分析入门

Python数据分析入门 最近,Analysis with Programming加入了Planet Python.作为该网站的首批特约博客,我这里来分享一下如何通过Python来开始数据分析.具体内容如下: 数据导入 导入本地的或者web端的CSV文件: 数据变换: 数据统计描述: 假设检验 单样本t检验: 可视化: 创建自定义函数. 数据导入 这是很关键的一步,为了后续的分析我们首先需要导入数据.通常来说,数据是CSV格式,就算不是,至少也可以转换成CSV格式.在Python中,我们的操作如