手把手教你用Python的NumPy包处理数据
导读:本文让你快速了解一下如何开始使用NumPy。一旦你熟悉了NumPy,就会发现Python世界中的大多数科学计算都是围绕NumPy构建的。因此花在NumPy上的学习时间最终对你是有益的。
import numpy
numpy.__version__
输出结果:
1.15.4
import numpy as np
np.__version__
输出结果:
1.15.4
a = 5
type(a)
输出结果:
int
int_list = list(range(10))
int_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
str_list = [str(i) for i in int_list]
str_list
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
int_list * 2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
import numpy as np
int_arr = np.array(int_list)
int_arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
int_arr * 2
array([ 0 2 4 6 8 10 12 14 16 18])
ndim:维数。 shape:每一维的大小。 size:数组中元素的总数。 dtype:数组的数据类型(例如int、float、string等)。
print("int_arr ndim: ", int_arr.ndim)
print("int_arr shape: ", int_arr.shape)
print("int_arr size: ", int_arr.size)
print("int_arr dtype: ", int_arr.dtype)
int_arr ndim: 1
int_arr shape: (10,)
int_arr size: 10
int_arr dtype: int64
int_arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
int_arr[0]
0
int_arr[3]
3
int_arr[-1]
9
int_arr[-2]
8
int_arr[2:5] #from index 2 up to index 5 - 1
array([2, 3, 4])
int_arr[:5] #from the beginning up to index 5 - 1
array([0, 1, 2, 3, 4])
int_arr[5:] #from index 5 up to the end of the array
array([5, 6, 7, 8, 9])
int_arr[::2] #every other element
array([0, 2, 4, 6, 8])
int_arr[::-1] #the entire array in reverse order
array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
arr_2d = np.zeros((3, 5))
arr_2d
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
arr_float_3d = np.ones((3, 2, 4))
arr_float_3d
array([[[1., 1., 1., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.]]])
arr_float_3d[0, :, :]
array([[1., 1., 1., 1.],
[1., 1., 1., 1.]])
arr_uint_3d = np.ones((3, 2, 4), dtype=np.uint8) * 255
arr_uint_3d
array([[[255, 255, 255, 255],
[255, 255, 255, 255]],
[[255, 255, 255, 255],
[255, 255, 255, 255]],
[[255, 255, 255, 255],
[255, 255, 255, 255]]], dtype=uint8)
关于作者:阿迪蒂亚·夏尔马(Aditya Sharma),罗伯特·博世(Robert Bosch)公司的一名高级工程师,致力于解决真实世界的自动计算机视觉问题。曾获得罗伯特·博世公司2019年人工智能编程马拉松的首名。
维什韦什·拉维·什里马利(Vishwesh Ravi Shrimali),于2018年毕业于彼拉尼博拉理工学院(BITS Pilani)机械工程专业。此后一直在BigVision LLC从事深度学习和计算机视觉方面的工作,还参与了官方OpenCV课程的创建。
迈克尔·贝耶勒(Michael Beyeler),是华盛顿大学神经工程和数据科学的博士后研究员,致力于仿生视觉的计算模型研究,以为盲人植入人工视网膜(仿生眼睛),改善盲人的感知体验。他的工作属于神经科学、计算机工程、计算机视觉和机器学习的交叉领域。
本文摘编自《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》,经出版方授权发布。
延伸阅读《机器学习》(原书第2版)
点击上图了解及购买
转载请联系微信:DoctorData
推荐语:一本基于OpenCV4和Python的机器学习实战手册,既详细介绍机器学习及OpenCV相关的基础知识,又通过具体实例展示如何使用OpenCV和Python实现各种机器学习算法,并提供大量示例代码,可以帮助你掌握机器学习实用技巧,解决各种不同的机器学习和图像处理问题。
评论