听慕课做Python 机器学习笔记(二):numpy基本使用

一、numpy.array基础

1、首先调用numpy,查看版本,取别名:

import numpy
numpy.__version__

‘1.16.5’

import numpy as np

2、与Python自带的List的区别

(1)list数组里元素可以不是同一个类型

L = [i for i in range(10)]
L[5] = 'machine learning'
L

[0, 1, 2, 3, 4, ‘machine learning’, 6, 7, 8, 9]

优点是灵活,缺点是效率较低。

(2)Python里也有限定只能存储一种类型的数组:array

import array
arr = array.array('i',[i for i in range(10)])
arr[5] = 100
arr

第一个参数表示整形

array(‘i’, [0, 1, 2, 3, 4, 100, 6, 7, 8, 9])

尝试对元素赋非整形值

arr[5] = 'machine learning'

TypeError Traceback (most recent call last)
in
----> 1 arr[5] = ‘machine learning’
TypeError: an integer is required (got type str)

会报错
array 的优点是效率高,缺点是不灵活。没有配备矩阵运算,对于机器学习不方便

(3)numpy.array

创建和查看,修改元素基本操作和python里的array类似:

nparr = np.array([i for i in range(10)])
nparr

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

nparr[5]

5

nparr[5] = 100
nparr

array([ 0, 1, 2, 3, 4, 100, 6, 7, 8, 9])

nparr[5] = 'hello'

ValueError Traceback (most recent call last)
in
----> 1 nparr[5] = ‘hello’
ValueError: invalid literal for int() with base 10: ‘hello’

a.对于上述创建的numpy.array,可以用**.dtype**查看数据类型
nparr.dtype

dtype(‘int32’)

可知是整形。
注意如果某元素修改为浮点数,这里会自动截位操作。

b.机器学习中常用数据类型为浮点型
nparr2 = np.array([1,2,3.0])
nparr2.dtype

dtype(‘float64’)

二、其他创建numpy.array的办法

1、numpy.zeros

(1)创建全为0的1维数组

np.zeros(10)

array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

默认数据类型为"float"

(2)创建时规定数据类型

np.zeros(10,dtype=int)

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

(3)可生成2维矩阵

np.zeros((3,5))

生成的是3行5列的矩阵
完整参数设置如下:

np.zeros(shape
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值