Python与数据分析

【Python学习笔记】numpy初学笔记

2019-08-01  本文已影响0人  清梦载星河

1. Numpy数组的创建

import numpy as np

# 1.1 np.array() 创建ndarray最基本的方法
arr1 = np.array([0,1,2,3,4])

# 1.2 创建一个长度为10的数组,数组的值全为0
arr2 = np.zeros(10,dtype=int)

# 1.3 创建一个3 * 5的浮点型数组,数组的值都是1
arr3 = np.ones((3,5),dtype=float)

# 1.4 创建一个3 * 5的浮点型数组,数组的值都是3.14
arr4 = np.full((3,5),3.14)

# 1.5 创建一个线性序列数组,从0开始,到20结束,步长为2
arr5 = np.arange(0,20,2)

# 1.6 创建一个5个元素的数组,这5个数均匀地分配到0~1
arr6 = np.linspace(0,1,5)

# 1.7 创建一个3 * 3的单位矩阵
arr7 = np.eye(3)

# 1.8 创建一个由3个整型数组组成的未初始化的数组,数组的值是内存空间的任意值
arr8 = np.empty(3)

2. Numpy数组的属性

3. Numpy的通用函数

3.1 数组变形

示例代码:

import numpy as np

arr1 = np.arange(10)
# 变形为一个 5 * 2的二维数组,参数为待操作数组和一个元组
print(np.reshape(arr1,(5,2))) 
# 当转换前后元素数目不同,resize()可强制转换
print(np.resize(arr1,(2,6)))

reshape()会改变原数组,而resize()生成一个新数组,不会改变原数组。

3.2 数组的复制

使用赋值符为浅复制,使用array.copy()为深复制。
ndarray自带.copy(),无需import copy

3.3 数组类型转换

示例代码:

arr1 = np.arange(10,dtype='int32')
arr2 = arr1.astype(np.int64)

3.4 数组堆叠(拼接)

作用:将多个数组合并为一个

示例代码:

x = np.array([1,2,3])
y = np.array([4,5,6])
print(np.concatenate([x,y]))

# Console:
# array([1,2,3,4,5,6])

3.5 数组拆分

作用:将一个数组拆分为多个数组

3.6 简单运算

Numpy数组使用向量化操作,使得Numpy数组的计算有时会非常快。

4. Numpy数组的索引及切片及切片

类似标准Python中列表的索引。

示例代码:

x = np.arange(10)
y = np.arange(10).reshape((2,5))

4.1 基本索引及切片

# 打印最后一个元素
print(x[-1])

# 打印第二个到第六个元素(左闭右开)
print(x[1:6])

4.2 二维数组索引

# 打印第一行第一个元素
print(y[0,0])

4.3 布尔型索引及切片

# 有没有值大于8?返回True或者False
np.any(x > 8)

# 是不是所有值都小于10?返回True或者False
np.all(x < 10)

4.4 利用索引数组进行索引

示例代码:

x = np.arange(12).reshape((3,4))
y = np.arange(12)

# 打印y数组索引3、7、2的元素
print(y[3],y[7],y[2])
or
ind = [3,7,2]
print(y[ind])

# 二维数组中的数组索引
row = np.array([0,1,2])
col = np.array([2,1,3])
print(x[row,col])

5. Numpy中的随机数

6. Numpy数据的输入输出

存储数组数据:.npy文件

np.save(FILENAME,ARRAY)

读取:

np.load(FILENAME)

存储成txt文件:

np.savetxt(FILENAME,ARRAY,delimeter='分隔符')

np.loadtxt(...)
上一篇 下一篇

猜你喜欢

热点阅读