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 [lowhigh). If high is None (the default), then results are from [0, low). The specific format is

numpy.random.randint(lowhigh=Nonesize=Nonedtype='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的更多相关文章

  1. 「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 ...

  2. [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 ...

  3. [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 ...

  4. [Python Cookbook] Numpy Array Joint Methods: Append, Extend & Concatenate

    数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append().extend()等进行拼接处理,最后将列表转成数组. 示例1: import numpy as np a=np.arr ...

  5. [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 ...

  6. [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 ...

  7. [Python Cookbook] Numpy Array Manipulation

    1. Reshape: The np.reshape() method will give a new shape to an array without changing its data. Not ...

  8. [转]python与numpy基础

    来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb ...

  9. 【Python】numpy 数组拼接、分割

    摘自https://docs.scipy.org 1.The Basics 1.1 numpy 数组基础 NumPy’s array class is called ndarray. ndarray. ...

随机推荐

  1. 笔记-爬虫-robots.txt

    笔记-爬虫-robots.txt 1.      robots.txt文件简介 1.1.    是什么 robots.txt是用来告诉搜索引擎网站上哪些内容可以被访问.哪些不能被访问.当搜索引擎访问一 ...

  2. (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明

    Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...

  3. OpenCV学习笔记(七) 图像金字塔 阈值 边界

    转自: OpenCV 教程 使用 图像金字塔 进行缩放 图像金字塔是视觉运用中广泛采用的一项技术.一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到 ...

  4. vrpie下实现vrp模型和javascript的交互

    最近在做一个vrpie的项目,用vrp建模生成vrpie,然后在网页上面显示,这里需要和网页上面的其他内容交互,现在总结一下开发经验. 第一个需求是在网页上面点击那个的时候做一些事情,通过查找sdk找 ...

  5. loj2071 「JSOI2016」最佳团体

    分数规划+树形依赖背包orz #include <iostream> #include <cstring> #include <cstdio> #include & ...

  6. 微信公众开发api接口

      简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器 ...

  7. C# 中的 #region 和 #endregion 的作用

    C#中的 #region 和 #endregion 表示一块区域,这样在 Visual Studio 中可以将这块区域的代码折叠起来,便于查看. 虽然Visual Studio 也响应大括号的折叠,但 ...

  8. Composer 下载安装类库

    安装 Composer 你需要先下载 composer.phar 可执行文件. curl -sS https://getcomposer.org/installer | php composer.js ...

  9. javascript计算两个时间的差

    function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime ...

  10. [oldboy-django][2深入django]django一个请求的生命周期 + WSGI + 中间件

    1 WSGI # WSGI(是一套协议,很多东西比如wsgiref, uwsgiref遵循这一套协议) - django系统本质 别人的socket(wsgiref或者uwsgiref) + djan ...