import numpy as np
numpy.array的各种初始化
- 初始化一个 从0开始递增,长度为参数值 的数组
ls2 = np.arange(10) - linspace 初始化一个递增数组
np.linspace(start=0,stop=20,num=10) #终点默认是包含的
np.linspace(start=0,stop=20,num=10,endpoint=False) #终点不包含 - 人为输入一个数组
arr=np.array((1,20,30,40)) - 元组转数组
arr=array([1,20,30,40]) - 初始化一个随机的数组
通过np.random.rand()可以返回一个或一组服从标准正态分布的随机样本值
1.无参数时
np.random.rand()返回的是一个随机值
2.一个参数时
返回的是一个一维数组
3.两个参数及以上时
返回的对应维度的数组
numpy的拼接
a和b都是3*3的numpy数组
水平拼接
np.hstack((a,b))
np.concatenate((a,b),axis=1)
垂直拼接
np.vstack((a,b))
np.concatenate((a,b),axis=0)
深度组合:沿着纵轴方向组合
np.dstack((a,b))
判断某元素在list出现的第一个位置
list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]
start=list1.index(1)
统计某元素在list中的出现次数
list_a.count(2)
判读某元素是否在list中
if ‘a’ in theList:
统计某一个元素在list出现的所有位置
list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]
L1=len(list1) #列表list1的长度
list2=list(set(list1)) #可以用set,直接去掉重复的元素
list2.sort(reverse=False) #将列表由小到大排序
L2=len(list2) #列表list2的长度
print('集合:'+str(list1))
for m in range(L2):
X=set() #设定一个空的集合,用来存放这个元素的所在的位置
start=list1.index(list2[m])
for n in range(L1):
stop=L1
if list2[m] in tuple(list1)[start:stop]:
a=list1.index(list2[m],start,stop)
X.add(a)
start=start+1
print('元素:'+str(list2[m])+',一共有'+str(len(X))+'个,在列表位置集合为:'+str(X))
list与numpy.array的转换
u = array([[1,2],[3,4]])
m = u.tolist() #转换为list
m.remove(m[0]) #移除m[0]
m = np.array(m) #转换为array
计算numpy向量的欧几里得距离
numpy.sqrt(numpy.sum(numpy.square(vec1 - vec2)))
list去除重复元素
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
找到两个list中重复元素
list_a = [1,2,3,4]
list_b = [3,4,5,6,7]
set_c = set(list_a) & set(list_b)
list_c = list(set_c)
可以得到:
list_c = [3,4]
矩阵
- 初始化3*5的矩阵
X=np.arange(15).reshape(3,5) - X.ndim #查看维度个数
- X.shape #查看形状
其他细节
- 数组的数据类型转换
np.arange(10).astype(np.float32)
这篇博客探讨了numpy.array的初始化方法,包括linspace、人为输入、元组转换和随机数组。接着,介绍了numpy的拼接操作。文章还讨论了在list中查找元素的位置、计数、判断和定位。此外,内容涵盖了list与numpy.array之间的转换,计算向量的欧几里得距离,以及处理重复元素和矩阵操作。最后,提到了数组的维度和形状检查以及数据类型转换。
898

被折叠的 条评论
为什么被折叠?



