AI基础--科学计算入门

科学计算入门(一)

numpy—高性能科学计算和数据分析的基础包

ndarray(高性能多维数组)

用于对整数数组进行快速运算的数学函数

线性代数,随机数生成,统计分析等

首先,介绍python常用数据结构

元组 
zoo_tup = ('dog', 'cat', 'wolf')
列表
zoo_list = ['dog', 'cat', 'wolf']
字典
zoo_dict = {'dog' :1, 'cat' :2, 'wolf' :3}

list和dict是可变的,而tuple是不可变的

zoo_list[0]='lion'
print(zoo_lisr)
zoo_dict['dog'] = 4
print(zoo_dist)

运行结果
在这里插入图片描述
zoo_tup[0] = 'lion(运行异常)
AI基础--科学计算入门_第1张图片
三种数据结构是可以异构的,可以嵌套的

new_zoo_tup = (zoo_tup, zoo_list)
print(new_zoo_tup)
print(type(new_zoo_tup[0])
print(type(new_zoo_tup[1])
new_zoo_list = [zoo_list, zoo_dict]
print(new_zoo_list)

运行结果
在这里插入图片描述

创建ndarray

import numpy as np
data1 = [6, 5, 7, 1, 3]
arr1 = np.arry(dara1)
arr1

在这里插入图片描述

#二维
arr2 = [[1, 2, 3], [3, 4, 5]]
arr2 = np.array

asarray

np.asarry[2, 3, 4]
np.asarry[[2.1, 3.4], [2,9, 9.1]]

###asarry和array的区别
乍一看,两个函数没有什么区别,其实背后还是略有不同的,array()创建是是对原始对象的一份copy创建的,而asarray是当输入是ndarry并不进行复制操作,如果改变创新的数组,则原始数组也会跟着改变。

#zeros(初始化为0的函数)
arr0 = np..zeros((2,3))
arr1 = np.array(arr0)
arr1[0][0] = 100
print(arr1)
print(arr0)

arr1被赋值,arr0没有改变,因为array是copy的arr1
在这里插入图片描述

arr2 = np.asarray(arr0)
arr2[0][0] = 200
print(arr1)
print(arr0)

可变
在这里插入图片描述

empty函数,用来创建一个没有任何值的数组

np.empty((3, 4))

在这里插入图片描述

eye创建对角矩阵

np.eye(4)

在这里插入图片描述

总结

数组创建函数总结:
array 将输入数据(列表,元组,数组或其他序列类型)转换为ndaray
asarray 同aray如果当输入是ndarray则不进行复制
arange 类型python中的range,但返回的是一个oidarray,并不是列表
ones,ones_like 前者返回全为1的数组,后者以另一数组为参数,根据其形状和dtype返回全为1的数组
zeros,zeroslike同上,只是数组元素为0
empty, empty_like同上,创建新数组
eye lidentity 创建一个正方的NxN的矩阵,对角为1,其余为0

你可能感兴趣的:(AI基础,python库)