[Python Cookbook] Numpy: Multiple Ways to Create an Array
Convert from list
Apply np.array() method to convert a list to a numpy array:
import numpy as np
mylist = [1, 2, 3]
x = np.array(mylist)
x
Output: array([1, 2, 3])
Or just pass in a list directly:
y = np.array([4, 5, 6])
y
Output: array([4, 5, 6])
Pass in a list of lists to create a multidimensional array:
m = np.array([[7, 8, 9], [10, 11, 12]])
m
Output:
array([[ 7, 8, 9],
[10, 11, 12]])
Array Generation Functions
arange returns evenly spaced values within a given interval.
n = np.arange(0, 30, 2) # start at 0 count up by 2, stop before 30
n
Output:
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28])
reshape returns an array with the same data with a new shape.
n = n.reshape(3, 5) # reshape array to be 3x5
n
Output:
array([[ 0, 2, 4, 6, 8],
[10, 12, 14, 16, 18],
[20, 22, 24, 26, 28]])
linspace returns evenly spaced numbers over a specified interval.
o = np.linspace(0, 4, 9) # return 9 evenly spaced values from 0 to 4
o
Output:
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ])
resize changes the shape and size of array in-place.
o.resize(3, 3)
o
Output:
array([[0. , 0.5, 1. ],
[1.5, 2. , 2.5],
[3. , 3.5, 4. ]])
ones returns a new array of given shape and type, filled with ones.
np.ones((3, 2))
Output:
array([[1., 1.],
[1., 1.],
[1., 1.]])
zeros returns a new array of given shape and type, filled with zeros.
np.zeros((2, 3))
Output:
array([[0., 0., 0.],
[0., 0., 0.]])
eye returns a 2-D array with ones on the diagonal and zeros elsewhere.
np.eye(3)
Output:
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
diag extracts a diagonal or constructs a diagonal array.
np.diag(y)
Output:
array([[4, 0, 0],
[0, 5, 0],
[0, 0, 6]])
Create an array using repeating list (or see np.tile)
np.array([1, 2, 3] * 3)
Output:
array([1, 2, 3, 1, 2, 3, 1, 2, 3])
Repeat elements of an array using repeat.
np.repeat([1, 2, 3], 3)
Output:
array([1, 1, 1, 2, 2, 2, 3, 3, 3])
Random Number Generator
The numpy.random subclass provides many methods for random sampling. The following tabels list funtions in the module to generate random numbers.
Simple random data

Now I will summarize the usage of the first three funtions which I have met frequently.
numpy.random.rand creates an array of the given shape and populate it with random samples from a uniform distribution over [0, 1). Parameters d0, d1, ..., dn define dimentions of returned array.
np.random.rand(2,3)
Output:
array([[0.20544659, 0.23520889, 0.11680902],
[0.56246922, 0.60270525, 0.75224416]])
numpy.random.randn creates an array of the given shape and populate it with random samples from a strandard normal distribution N(0,1). If any of the
are floats, they are first converted to integers by truncation. A single float randomly sampled from the distribution is returned if no argument is provided.
# single random variable
print(np.random.randn(),'\n')
# N(0,1)
print(np.random.randn(2, 4),'\n')
# N(3,6.26)
print(2.5 * np.random.randn(2, 4) + 3,'\n')
Output:
-1.613647405772221
[[ 1.13147436 0.19641141 -0.62034454 0.61118876]
[ 0.95742223 1.91138142 0.2736291 0.29787331]]
[[ 1.997092 2.6460653 3.2408004 -0.81586404]
[ 0.15120766 1.23676426 6.59249789 -1.04078213]]
numpy. random.randint returns random integers from the “discrete uniform” distribution of the specified dtype in the interval [low, high). If high is None (the default), then results are from [0, low). The specific format is
numpy.random.randint(low, high=None, size=None, dtype='l')
np.random.seed(10)
np.random.randint(100,200,(3,4))
np.random.randint(100,200)
Output:
array([[109, 115, 164, 128],
[189, 193, 129, 108],
[173, 100, 140, 136]])
109
Permutation
There are another two funtions used for permutations. Both of them can randomly permute an array. The only difference is that shuffle changes the original array but permutation doesn't.

Here are some examples of permutation.
np.random.permutation([1, 4, 9, 12, 15])
Output: array([ 9, 4, 1, 12, 15])
np.random.permutation(10)
Output: array([3, 7, 4, 6, 8, 2, 1, 5, 0, 9])
Usually, we use the following statements to perform random sampling:
permutation = list(np.random.permutation(m)) #m is the number of samples
shuffled_X = X[:, permutation]
shuffled_Y = Y[:, permutation].reshape((1,m))
[Python Cookbook] Numpy: Multiple Ways to Create an Array的更多相关文章
- 「Python」Numpy equivalent of MATLAB's cell array
转自Stackoverflow.备忘用. Question I want to create a MATLAB-like cell array in Numpy. How can I accompli ...
- [Python Cookbook] Numpy Array Slicing and Indexing
1-D Array Indexing Use bracket notation [ ] to get the value at a specific index. Remember that inde ...
- [Python Cookbook] Numpy: Iterating Over Arrays
1. Using for-loop Iterate along row axis: import numpy as np x=np.array([[1,2,3],[4,5,6]]) for i in ...
- [Python Cookbook] Numpy Array Joint Methods: Append, Extend & Concatenate
数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append().extend()等进行拼接处理,最后将列表转成数组. 示例1: import numpy as np a=np.arr ...
- [Python Cookbook] Numpy: How to Apply a Function to 1D Slices along the Given Axis
Here is a function in Numpy module which could apply a function to 1D slices along the Given Axis. I ...
- [Python Cookbook] Pandas: 3 Ways to define a DataFrame
Using Series (Row-Wise) import pandas as pd purchase_1 = pd.Series({'Name': 'Chris', 'Item Purchased ...
- [Python Cookbook] Numpy Array Manipulation
1. Reshape: The np.reshape() method will give a new shape to an array without changing its data. Not ...
- [转]python与numpy基础
来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb ...
- 【Python】numpy 数组拼接、分割
摘自https://docs.scipy.org 1.The Basics 1.1 numpy 数组基础 NumPy’s array class is called ndarray. ndarray. ...
随机推荐
- pycharm的常用操作:设置字体主题,注释整段代码,调整格式,批量替换等
1.调出常用工具栏 调出的结果是下面这样的: 2.调出常用工具按钮 调出的结果如下: 3. 调整主题及文字大小 ps:如果设置后没变,需要多设置几次就好了. 4. 统一后退几格调整对齐格式 选中要调整 ...
- caffe工程配置问题
一开始是碰到没有caffe/caffe.hpp文件的问题,不知道怎么弄.通过百度,知道了在makefile文件里加入头文件路径和库文件路径就行. 首先是caffe.pb.h丢失问题,解决方法:http ...
- 关于eclipse连接mysql jar包
步骤如下: 右键工程--选择build path -- add Libraries. 弹出框选user library,点击next. 弹出框点击add libraries . 继续点击new ,输 ...
- JQuery向ashx提交中文参数方案 [转]
转自:http://blog.csdn.net/wangqiuyun/article/details/8450964 字符编码这个东西,一旦和中文打上交道就不可避免出现乱码,今天项目用到了JQuery ...
- Spring Cloud 目录
Spring Cloud Eureka Spring Cloud Config Spring Cloud Feign Spring Cloud Hystrix Spring Cloud Ribbon ...
- redis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots
最近在学习Redis ,在写test测试的时候碰到这个报错: redis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is c ...
- Spring MVC请求参数绑定
所谓请求参数绑定,就是在控制器方法中,将请求参数绑定到方法参数上 @RequestParam 绑定单个请求参数到方法参数上 @RequestParam("id") Integer ...
- js作用域的理解
script:自上而下 全局变量.全局函数 函数:由里到外 浏览器: “JS解析器” 1)“找一些东西”: var function 参数 a = undefine 所有的变量,在正式运行代码之前,都 ...
- ZigBee学习一 任务处理函数_ProcessEvent
ZigBee学习一 任务处理函数_ProcessEvent //任务处理函数UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events ){ ...
- NBUT 1618 投放炸弹(树状数组)
[1618] 投放炸弹 时间限制: 1000 ms 内存限制: 65535 K 问题描述 我们定义一个炸弹能炸毁的地方要求曼哈顿距离小于等于某个值. 曼哈顿距离——两点在南北方向上的距离加上在东西方向 ...