Python NumPy用法

2020-09-21  本文已影响0人  懒听夏

原文作者:无味之味
链接:https://www.jianshu.com/p/49d5bd1c2572
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文在原作者基础上添加小小小更新

介绍

NumPy是Python数值计算最重要的基础包,大多数提供科学计算的包都是用NumPy的数组作为构建基础。NumPy本身并没有提供多么高级的数据分析功能,理解NumPy数组以及面向数组的计算,将有助于你更加高效地使用诸如Pandas之类的工具。
虽然NumPy提供了通用的数值数据处理的计算基础,但大多数读者可能还是想将Pandas作为统计和分析工作的基础,尤其是处理表格数据时。

NumPy的部分功能如下:

NumPy之于数值计算特别重要是因为它可以高效处理大数组的数据。这是因为:

使用下面格式约定,引入NumPy包:

import numpy as np

NumPy的ndarray:N维数组对象

NumPy最重要的是其N维数组对象(即ndarray),其中的所有元素必须是相同类型的。该对象是一个快速而灵活的大数据集容器,可以利用这种数组对整块数据执行数学运算,其语法跟标量元素之间的运算一样。

创建ndarray

In [20]: arr1 = np.array([6, 7.5, 8, 0, 1])   #从列表创建
​In [21]: pring(arr1)
Out[21]: [ 6. ,  7.5,  8. ,  0. ,  1. ]     #NumPy根据数据情况,指定了float类型

​In [23]: arr2 = np.array([[1, 2, 3, 4], [5, 6, 7, 8],(1.2 , 2.3)])
​In [24]: pring(arr2)
Out[24]: [[1, 2, 3, 4] [5, 6, 7, 8] (1.2 , 2.3)]
a = np.array([1, 2, 3, 4, 5])   #从列表创建
​a1 = np.array(a) #深拷贝
a2 = np.asarray(a) #浅拷贝
a[0] = 100
a1 = [1 2 3 4 5]
a2 = [100   2   3   4   5]
In [30]: arr3 = np.zeros((3, 6))
In [31]: print(arr3)
Out[30]: [[ 0.,  0.,  0.,  0.,  0.,  0.] [ 0.,  0.,  0.,  0.,  0.,  0.] [ 0.,  0.,  0.,  0.,  0.,  0.]]

ndarray数组对象的属性

ndarray数组对象的类型和维度变换

a=np.array([[1,2,3],[2,3,4],[5,6,7],[6,7,8]])
a
array([[1, 2, 3],
       [2, 3, 4],
       [5, 6, 7],
       [6, 7, 8]])
a.T
array([[1, 2, 5, 6],
       [2, 3, 6, 7],
       [3, 4, 7, 8]])
In: temp = np.array([1,2,3,4],[2,3,4,5])
In: np.unique(temp)
Out: array([1,2,3,4,5])

ndarray数组的索引和切片

具体使用参考

https://seancheney.gitbook.io/python-for-data-analysis-2nd/di-04-zhang-numpy-ji-chu-shu-zu-he-shi-liang-ji-suan#ji-ben-de-suo-yin-he-qie-pian
https://docs.scipy.org/doc/numpy/user/quickstart.html#indexing-slicing-and-iterating
https://blog.csdn.net/zheng_weibin/article/details/79358986

ndarray数组的运算

利用ndarray进行数据处理

排序

ndarray数组通过.sort()函数排序,多维数组时传入轴编号
NumPy的随机数函数

In:  m = np.random.randint(2, size=10)
     m
Out: array([0, 1, 1, 1, 1, 1, 1, 0, 1, 0])

In:  n = np.random.randint(5, size=(2, 4))
     n
Out: array([[2, 1, 1, 1],
        [2, 2, 0, 1]])

NumPy的统计类函数

NumPy的梯度函数

梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2

原文作者:无味之味
链接:https://www.jianshu.com/p/49d5bd1c2572
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇 下一篇

猜你喜欢

热点阅读