Home > Backend Development > Python Tutorial > python numpy library

python numpy library

巴扎黑
Release: 2017-06-23 15:32:27
Original
2368 people have browsed it

python-numpy

Writing and accessing csv files

Writing csv files

CSV (Comma-Separated Value, comma separated value), is a A common file format used to store bulk data.

Write csv file

np.savetxt(frame, array, fmt='%.18e', delimiter=None)
• frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
• array : 存入文件的数组
• fmt : 写入文件的格式,例如:%d %.2f %.18e
• delimiter : 分割字符串,默认是任何空格
Copy after login

Example:

>>> a = np.arange(100).reshape(5,20)>>> np.savetxt('a.csv',a,fmt='%d',delimiter=',')
Copy after login

The obtained file is like this

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
Copy after login

Change the parameters to float Point writing

>>> a = np.arange(100).reshape(5,20)>>> np.savetxt('a.csv',a,fmt='%.1f',delimiter=',')
Copy after login
0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0
20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0
40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0
60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0
80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0
Copy after login

Read csv file

Read csv file

np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)
• frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
• dtype : 数据类型,可选
• delimiter : 分割字符串,默认是任何空格
• unpack : 如果True,读入属性将分别写入不同变量
Copy after login

Example:

>>> b = np.loadtxt('a.csv',delimiter=',')>>> b
array([[  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,         11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.],
       [ 20.,  21.,  22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,         31.,  32.,  33.,  34.,  35.,  36.,  37.,  38.,  39.],
       [ 40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,  49.,  50.,         51.,  52.,  53.,  54.,  55.,  56.,  57.,  58.,  59.],
       [ 60.,  61.,  62.,  63.,  64.,  65.,  66.,  67.,  68.,  69.,  70.,         71.,  72.,  73.,  74.,  75.,  76.,  77.,  78.,  79.],
       [ 80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,  88.,  89.,  90.,         91.,  92.,  93.,  94.,  95.,  96.,  97.,  98.,  99.]])>>> b = np.loadtxt('a.csv',dtype=np.int,delimiter=',')>>> b
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,37, 38, 39],
       [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,57, 58, 59],
       [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,77, 78, 79],
       [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,97, 98, 99]])
Copy after login

CSV can only effectively store one-dimensional and two-dimensional arrays
np.savetxt() np.loadtxt() can only effectively access one-dimensional and two-dimensional arrays

Access to multi-dimensional data

Writing of multidimensional data

a.tofile(frame, sep='', format='%s')
• frame : 文件、字符串
• sep : 数据分割字符串,如果是空串,写入文件为二进制
• format : 写入数据的格式
Copy after login

Example;

>>> a = np.arange(100).reshape(5,10,2)>>> a.tofile("a.dat",sep=',',format='%d')
Copy after login

Contents of a.dat:

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
Copy after login

If the delimiter is not specified, then The resulting binary file cannot be read with a text editor.

Reading of multidimensional data

np.fromfile(frame, dtype=float, count=‐1, sep='')
• frame : 文件、字符串
• dtype : 读取的数据类型
• count : 读入元素个数,‐1表示读入整个文件
• sep : 数据分割字符串,如果是空串,写入文件为二进制
Copy after login

numpy’s random number function

NumPy’s random sublibrary
np.random.*

##choice(a[,size,replace,p])from the one-dimensional array Elements are extracted from a with probability p to form a new array of size shape. replace indicates whether it is possible to reuse elements. The default is False##uniform(low,high,size)normal(loc,scale,size)poisson(lam,size)numpy statistical function
FunctionDescription
rand(d0,d1,...,dn)Create a random number array based on d0-dn, floating point number, [0,1), uniform distribution
randn(d0,d1,...,dn)Create a random number array based on d0-dn, standard normal distribution
randint(low[,high,shape])Create a random integer or integer array based on shape , the range is [low,high)
seed(s)random number seed, s is the given seed value
shuffle(a)Permute according to the first axis of array a, change array a
permutation(a)According to the array The first axis of a generates a new out-of-order array without changing the array a
generated Array with uniform distribution, low starting value, high ending value, size is of shape
Produces a normal distribution Array, loc is the mean, scale standard deviation, size is the shape
generates an array with Poisson distribution, lam is the occurrence of random events Rate, size is the shape

NumPy directly provides statistical function

np.*


Functionsum(a,axis=None)mean(a,axis=None)##average(a,axis=None,weights=None)Calculate the weighted average of the relevant elements of array a based on the given axis Valuestd(a,axis=None)Calculate the standard deviation of the relevant elements of array a based on the given axis axisvar(a,axis = None)Calculate the variance of the relevant elements of array a based on the given axis axismin(a) max(a)Calculate the minimum value and maximum value of the elements in array aargmin(a) argmax(a)Calculate the minimum value of the elements in array a, Subscript after reducing the maximum value by one dimensionunravel_index(index,shape)Convert the one-dimensional subscript index into a multi-dimensional subscript according to shapeptp(a)Calculate the difference between the maximum value and the minimum value of the element in array amedian(a)Calculate the median (median value) of the elements in array aaxis=None is the standard parameter of the statistical function
Description
According to the given Calculate the sum of related elements of array a with a given axis, axis integer or tuple
Calculate the related elements of array a with a given axis Expectation, axis integer or tuple
numpy’s gradient function

FunctionDescription##np.gradient(f)Calculate the gradient of the elements in the array f. When f is multi-dimensional, return the gradient of each dimensionGradient: the rate of change between consecutive values, that is, the slopeThe Y-axis values ​​corresponding to three consecutive X coordinates on the XY coordinate axis: a, b, c, where the gradient of b is: (c-a)/2
>>> a = np.random.randint(0,20,5)>>> np.gradient(a)
array([  9. ,  -0.5,  -2. ,  -3. , -12. ])
Copy after login


The above is the detailed content of python numpy library. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template