2024年最全手把手教你用Python的NumPy包处理数据!NumPy可是神器!,2024年最新面试官必问的技术问题之一有哪些

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1.15.4

提示:记得在Jupyter Notebook中,键入命令后,你可以按下Ctrl+Enter,以执行一个单元格。或者,按下Shift+Enter以执行单元格,并自动插入或者选择该单元格下面的单元格。依次单击Help | Keyboard Shortcut以检查所有的键盘快捷键,或者依次单击Help | User Interface Tour以进行快速浏览。

此处讨论的部分包,建议使用NumPy 1.8版本或后续版本。按照惯例,你会发现在科学Python领域中,大多数人导入NumPy都会使用np作为别名:

importnumpy asnp

np.__version__

输出结果:

1.15.4

02 理解NumPy数组

Python是一种弱类型的语言。这就意味着, 你无论何时创建一个新变量,都不必指定数据类型。 例如,下面的内容将自动表示为一个整数:

a = 5

输入下面内容以再次确认:

type(a)

输出结果:

int

注意:因为标准Python实现是用C编写的,所以每个Python对象本质上是一个伪C结构。这对于Python中的整数也是如此,实际上它是指向复合C结构的指针,包含的不仅仅是原始整数值。因此,用于表示Python整数的默认C数据类型将依赖于你的系统架构(即系统是32位还是64位平台)。

更进一步,我们使用list命令可以创建一个整数列表,这是Python中的标准多元素容器。range (x)函数将创建从0到x–1的所有整数。要输出变量,你可以使用print函数,也可以直接输入变量名字并按Enter:

int_list = list(range( 10))

int_list

输出结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

类似地,我们通过让Python遍历整数列表int_list中的所有元素,并对每个元素应用str函数(该函数将一个数转换成一个字符串),来创建一个字符串列表:

str_list = [str(i) fori inint_list]

str_list

输出结果:

[‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]

可是,用列表进行数学运算并不是很灵活。例如,我们想要将int_list中的每个元素都乘以一个因子2。执行以下操作可能是一种简单的方法—看看输出结果是怎样的:

int_list * 2

输出结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Python创建了一个列表,其内容是int_list的所有元素生成了两次,这并不是我们想要的!

这就是NumPy的用武之地。NumPy是专为简化Python中的数组运算而设计的。我们可以快速将整数列表转换为一个NumPy数组:

importnumpy asnp

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])

这次我们做对了!加法、减法、除法以及很多其他运算也是同样的。

而且,每个NumPy数组都具有以下属性:

  • 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

从这些输出中,我们可以看到我们的数组只包含一维,其包含10个元素且所有元素都是64位的整数。当然,如果你在32位机器上执行这段代码,你可能会得到dtype:int 32。

03 通过索引访问单个数组元素

如果你之前使用过Python的标准列表索引,那么你就不会发现NumPy中的索引有很多问题。在一维数组中,通过在方括号中指定所需的索引,可以访问第i个值(从0开始计算),与Python列表一样:

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

输出结果:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值