Numpy学习
决定陆陆续续写一些Numpy的例子。。
1.
如果想表示e的x次,就可以这样用,下面直接写一个sigmod函数:
def sigmoid(z):
return 1 / (1 + np.exp(-z))
2.
numpy也可以来进行矩阵运算
最简单的如下:
①、首先是一位数组之间的相乘
import random
d1 = np.arange(9)
random.shuffle(d1)
d2 = np.arange(9)
random.shuffle(d2)
print(d1,'\n',d2) #
[5 2 8 0 1 7 6 4 3]
[1 6 5 3 4 8 0 7 2]
产生两个维度一样的数组,顺便复习一下random的用法
接下来
np.dot(d1,d2) #
也就是向量的内积
②、接下来是矩阵的相乘,先产生两个矩阵,一个2乘3,一个3乘4
d1 = np.arange(1,7).reshape(2,3)
d2 = np.arange(2,14).reshape(3,4)
print(d1,'\n','-'*10,'\n',d2)
#[[1 2 3]
[4 5 6]]
----------
[[ 2 3 4 5]
[ 6 7 8 9]
[10 11 12 13]]
np.dot(d1,d2) #
array([[ 44, 50, 56, 62],
[ 98, 113, 128, 143]])
得到2乘4的矩阵,注意这里d1和d2的顺序一旦相反,矩阵相乘的结果也不一样了
3.
这个例子我们讲一下用pandas和numpy共同对数据进行处理
首先我们的数据是这样子的:
import os
import numpy as np
import pandas as pd
path = 'data' + os.sep + 'LogiReg_data.txt'
pdData = pd.read_csv(path, header=None, names=['Exam 1', 'Exam 2', 'Admitted'])
pdData.head()
我们需要的操作是:给数据增加一列全为1(加在第一列),然后分为X和Y两部分,其中X是一个三行100列(数据一共100个样本)的矩阵,第一列是1,第二列是Exam1,第二列是Exam2,Y是一个列向量,也就是Admitted,好了,开始操作:
pdData.insert(0, 'Ones', 1) # in a try / except structure so as not to return an error if the block si executed several times # set X (training data) and y (target variable)
orig_data = pdData.as_matrix() # convert the Pandas representation of the data to an array useful for further computations
cols = orig_data.shape[1]
X = orig_data[:,0:cols-1]
y = orig_data[:,cols-1:cols] # convert to numpy arrays and initalize the parameter array theta
#X = np.matrix(X.values)
#y = np.matrix(data.iloc[:,3:4].values) #np.array(y.values)
theta = np.zeros([1, 3])
第一行代码就是给原数据第一列加上名称为'Ones’且值全为1的列,如果要删除,需要这样:
pdData.drop('Ones', axis=1,inplace=True #其中inplace的值为True代表对原数据进行了改动,而如果不加inpalce或者为False,则表示将删除结果作为另外的返回值,原数组没有变化
第二行代码表示将pandas的这个数据转为numpy里的数组,也就是
numpy.ndarray
第三行代码表示取数组里第二维度的大小,也就是列的大小(0是行)
接下来的代码应该不用解释了吧,看一下数据的结果:
X[:5] #array([[ 1. , 34.62365962, 78.02469282],
[ 1. , 30.28671077, 43.89499752],
[ 1. , 35.84740877, 72.90219803],
[ 1. , 60.18259939, 86.3085521 ],
[ 1. , 79.03273605, 75.34437644]])
y[:5] #array([[0.],
[0.],
[0.],
[1.],
[1.]])
theta #array([[ 0., 0., 0.]])
Numpy学习的更多相关文章
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...
- NumPy学习(让数据处理变简单)
NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- numpy 学习总结
numpy 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 #生成数组/使 ...
- (转)Python数据分析之numpy学习
原文:https://www.cnblogs.com/nxld/p/6058572.html https://morvanzhou.github.io/tutorials/data-manipulat ...
- Numpy学习1
NumPy学习(1) 参考资料: http://www.cnblogs.com/zhanghaohong/p/4854858.html http://linusp.github.io/2016/02/ ...
随机推荐
- 【.NET 深呼吸】在 .net core app 中使用 Composition
.NET 中的 Composition ,即 MEF.MEF 说得简单一点,就是它可以在运行阶段动态地发现类型,用于组件扩展方面特别合适. .NET Core App 的默认框架并不提供 MEF 有关 ...
- 【PMP】项目整合管理
项目整合的七个过程组: 制定项目章程 制定项目管理计划 指导语管理项目工作 管理项目知识 监控项目工作 实施整体变更控制 结束项目或阶段 1.制定项目章程 1.1 定义 制定项目章程是编写一份正式批准 ...
- NOIP2011普及组 数字反转
题目OJ链接: http://codevs.cn/problem/1130/ https://www.luogu.org/problemnew/show/P1307 2011年NOIP全国联赛普及组 ...
- (原)DropBlock A regularization method for convolutional networks
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9985027.html 论文网址: https://arxiv.org/abs/1810.12890 ...
- 使用h2数据库
h2数据库提供了一个简单的web管理界面 import org.h2.tools.Server; import org.slf4j.Logger; import org.slf4j.LoggerFac ...
- 【RS】Collaborative Memory Network for Recommendation Systems - 基于协同记忆网络的推荐系统
[论文标题]Collaborative Memory Network for Recommendation Systems (SIGIR'18) [论文作者]—Travis Ebesu (San ...
- 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)
本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的. 本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,s ...
- OSI(Open System Interconnect) 网络七层协议
你作为用户想发个快递,你叫来了顺丰,顺丰快递员从你手里拿走了快递,又装进一个盒子,然后把一个快递单子贴在了上面. 快递员回到集散中心,将快递往那一扔不管了,分拣员把快递按投递的省市分开,发往同一地区的 ...
- IoC之AutoFac(一)——简单使用和组件注册
阅读目录 一.AutoFac简单使用 二.注册 2.1 注册方式 2.2 带参数注册 回到顶部 一.AutoFac简单使用 1 namespace AutofacDemo 2 { 3 class Pr ...
- 小型互联网公司的IT系统建设思路
最近一些想创业的一帮兄弟来问我,准备借助互联网的翅膀,做某某事情,并想尽快的做出一个系统平台. 我给的思路,分6个步骤: 需求-> 灵感设计 ->实现 ->迭代改进 ->成 ...