python生成随机数组

Python040

python生成随机数组,第1张

从已有数组中提取随机数组

要求:从两个不同数组中随机抽取数组,用到函数np.random.choice

import numpy as np

hyper=[1,2,5,8,9,12,13,14,17,19]

noh=[3,4,6,7,10,11,15,16,18,20]

#h:n 2:2

l1=np.random.choice(hyper,2,replace=False)

l2=np.random.choice(noh,2,replace=False)

ll=[l2[0],l1[0],l1[1],l2[1]]

print(ll)

l1=np.random.choice(hyper,2,replace=False)

l2=np.random.choice(noh,2,replace=False)

ll=[l1[0],l2[0],l1[1],l2[1]]

print(ll)

l1=np.random.choice(hyper,2,replace=False)

l2=np.random.choice(noh,2,replace=False)

ll=[l1[0],l1[1],l2[0],l2[1]]

print(ll)

l1=np.random.choice(hyper,2,replace=False)

l2=np.random.choice(noh,2,replace=False)

ll=[l2[1],l2[0],l1[0],l1[1]]

print(ll)

先定义一个数组列表:

列表合并也可以用+,但是用+的话,会产生一个新的列表(当然也可以赋值给任何的变量),而extend则只是修改了原来的对象

只读数组,只能查看不能编辑,列表的切片操作同样适于元组。

表达方式:tuple=("元素1","元素2","元素3"),中间同样用,隔开

特殊的元组:tupleZero=()空元组

                        tupleOne=("元素1",)  只有一个元素,后面要跟一个,(注意好的习惯的养成)

作用:1.对于一些不想被修改的元素,可以放在元组里面

        2.元组可以在映射(和集合的成员)中当作键使用,而列表不行

        3.元组作为内建函数和方法的返回值

enumerate(列表对象,返回标签起始值(默认为零))

上面的例子可以看出,返回的i是一个元组,如果不想要元组的话,可以用两个参数接收:

数组允许进行批量操作而无需使用for循环,因此更加简便,这种特性也被称为向量化。任何两个等尺寸之间的算术操作都应用逐元素操作的方式进行。

同尺度数组之间的比较,会产生一个布尔型数组。

上述操作均是在同尺度数组之间进行的,对于不同尺度数组间的操作,会使用到广播特性。

索引:获取数组中特定位置元素的过程;

切片:获取数组元素子集的过程。

new_a = a.astype(new_type)

astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致。

ls = a.tolist()

转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容。

数组拥有 transpose 方法,也有特殊的 T 属性。

对于更高纬度的数组, transpose 方法可以接受包含轴编号的元组,用于转置轴。

ndarray的 swapaxes 方法,通过接受一对轴编号作为参数,并对轴进行调整用于重组数据。

swapaxes 方法返回的是数据的视图,而没有对数据进行复制。

Reference:

《Python for Data Analysis:Data Wrangling with Pandas,Numpy,and IPython》