第七天,numpy初探

为什么直接进入 numpy了呢,因为我走人工智能的路线,所以先了解这个数组模块的一些基础知识,然后穿插更深一级的语法,这样会有用一点,我个人感觉,不管好坏,先看看numpy里有些什么吧。我现在用的是anaconda的jupyter notebook 为了安装它可花了不少时间。
先看看学了什么。

输出一个数组

import numpy as np

A = np.array([1,2,4,3,5])
A
Out[9]:
array([1, 2, 4, 3, 5])

np.array()里面的数组可以是多维的,理论上可以输出N维数组
查看 数组是多少维度的,使用X.ndim方法,X是数组

B = np.array([[1,2],[3,4],[5,6]])
B.ndim  # B.nidm 指的是数组的维度  判断的方式就是看有几个方括号就是几维数组
输出是:
2

接着就是 查看是多少行多少列的方法 X.shape X是数组。 翻译过来就是 X的形状

B.shape  # 数组属性,有多少行,多少列
输出:
(3,2)  # 3行 两列

如何生成一个连续数组呢?比如我想输出 0到10内步进为1的数组呢?
numpy有一个叫做arange的方法 输出一个连续的数组

C = np.arange(1,50,5)  # arange() 生成一个连续数组,范围是 1 到 50 然后步进是5
C
array([ 1,  6, 11, 16, 21, 26, 31, 36, 41, 46])

如果想输出规定范围内等分的数组呢?
单词 linspace 等分的意思

D = np.linspace(0,20,12)   # np.linspace(0,20,12)  把0到20等分12分,然后输出
D
array([ 0.        ,  1.81818182,  3.63636364,  5.45454545,  7.27272727,
        9.09090909, 10.90909091, 12.72727273, 14.54545455, 16.36363636,
       18.18181818, 20.        ])

好,今天就先记住这几个,今天是2019.2.27

未完待续。。。。。。
2.28 接上~

np.ones(pra) 这是个输出1的数组,根据参数来输出
如果是np.ones(5),则会输出一维数组 5个1
如果给定一个数组参数或者元组参数 ,则会输出一个 行列为参数的二维数组 比如:

np.ones([3,3])  # 这个是返回一个跟输入相同类型的数组,容量由输入参数决定
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])

另外一个就是np.zeros(5) 这个操作和 np.ones(5)一样

np.zeros([4,3],dtype='int')  # 根据输入参数类型输出相应的0;
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])

numpy.eye(N,M=None, k=0, dtype=<type ‘float’>)
这个是输出一个对角线数组,如果只输入一个整数,则会输出 行列都是这个整数的数组,并且会在第一个数字开始左上角到右下角的对角线
如果输入第二个参数,则变为 第一个为行 第二个为列
第三个参数是对角线开始的地方,如果k=0,则从左边第一个数字开始到右下角
如果是 -1 则 从-1位置开始往下对角 ,也就是从第一列的第二个数字开始往下对角
同理 k = 1 从第一行第二个数字开始往下对角
看代码

np.eye(4,4,-1)  # 如果只输一个参数,则返回行数列数都是该参数的且对角线是1的数组,第二个参数是 指定多少列,
 #第三个参数从第几列开始对角线 (如果有两个参数,则第一个是行数,第二个数列数)
    # 参数 4,4,-1 表示 行是4 列是4 从-1列开始输出对角线
array([[0., 0., 0., 0.],
       [1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.]])

下一个是 随机数组

np.random.randn(2,3)   # 随机输出 指定参数的数组  输出为浮点数

array([[-0.12691544,  0.32523151,  0.35195496],
       [-0.05785743,  1.90173634,  0.05631528]])

np.random.randint(0,10,5)  # 输出为整数
array([3, 9, 2, 8, 6])

下一个是 把一维数组变成二维数组的函数

E = np.arange(0,51,10).reshape(6,1) + np.arange(6)
'''
第一个 np.arang(0,51,5) 输出 0到50 步进为5的一维数组,
第二个 .reshape(6,1) 是把数组改变成二维数组,并且行数是6,列为1
第三个 + np.range(6) 是把前边的6行1列的数组扩大,每一行都输出6个连续的数字
'''
E

array([[ 0,  1,  2,  3,  4,  5],
       [10, 11, 12, 13, 14, 15],
       [20, 21, 22, 23, 24, 25],
       [30, 31, 32, 33, 34, 35],
       [40, 41, 42, 43, 44, 45],
       [50, 51, 52, 53, 54, 55]])

2.28 未完待续。。。。。。。

期末大作业基于python的足球运动员数据分析源码+数据集(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于pyth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值