numpy除去nan值_numpy除去nan值_清晰易懂的 Numpy 入门教程

本文详细介绍了Numpy的基础和核心应用,包括如何构建和操作数组,处理缺失值和无穷大值,以及如何生成序列数、重复数和随机数。通过实例展示了Numpy在数据处理中的高效性,适合初学者入门和进阶。
摘要由CSDN通过智能技术生成

(点击上方快速关注并设置为星标,一起学Python)

翻译 | 石头

来源 | Machine Learning Plus

Numpy是python语言中最基础和最强大的科学计算和数据处理的工具包,如数据分析工具pandas也是基于numpy构建的,机器学习包scikit-learn也大量使用了numpy方法。本文介绍了Numpy的n维数组在数据处理和分析的所有核心应用。

目录

1. 如何构建numpy数组

2. 如何观察数组属性的大小和形状(shape)

3. 如何从数组提取特定的项

4. 如何从现有的数组定义新数组

5. 多维数组的重构(reshaping)和扁平(flattening)

6. 如何通过numpy生成序列数(sequences),重复数(repetitions)和随机数(random)

7. 小结

1. 如何构建numpy数组

构建numpy数组的方法很多,比较常用的方法是用np.array函数对列表进行转化。

# 通过列表创建一维数组import numpy as nplist1 = [0,1,2,3,4]arr1d = np.array(list1)#打印数组和类型print(type(arr1d))arr1d

[0 1 2 3 4]

数组和列表最关键的区别是:数组是基于向量化操作的,列表不是,我们在实际项目中处理的数据一般是矩阵结构,对该数据以行向量或列向量的形式进行计算,向量计算是基于数组实现的,因此数组比列表的应用更广。

函数可以应用到数组的每一项,列表不行。

比如,不可以对列表的每一项数据都加2,这是错误的。

list1 + 2  # 错误

可以对数组的某一项数据都加2

# Add 2 to each element of arr1darr1d + 2#> array([2, 3, 4, 5, 6])

另一个区别是已经定义的numpy数组不可以增加数组大小,只能通过定义另一个数组来实现,但是列表可以增加大小。

然而,numpy有更多的优势,让我们一起来发现。

numpy可以通过列表中的列表来构建二维数组。

# Create a 2d array from a list of listslist2 = [[0,1,2], [3,4,5], [6,7,8]]arr2d = np.array(list2)arr2d#> array([[0, 1, 2],#>        [3, 4, 5],#>        [6, 7, 8]])

你也可以通过dtype参数指定数组的类型,一些最常用的numpy类型是:'float','int','bool','str'和'object'。

# Create a float 2d arrayarr2d_f = np.array(list2, dtype='float')arr2d_f#> array([[ 0.,  1.,  2.],#>        [ 3.,  4.,  5.],#>        [ 6.,  7.,  8.]])

输出结果的小数点表示float类型,你也可以通过 astype方法转换成不同的类型。

# 转换成‘int’类型arr2d_f.astype('int')#> array([[0, 1, 2],#>        [3, 4, 5],#>        [6, 7, 8]])

# 先转换‘int’类型,再转换‘str’类型arr2d_f.astype('int').astype('str')#> array([['0', '1', '2'],#>        ['3', '4', '5'],#>        ['6', '7', '8']],#>       dtype='U21')

另一个区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值