1.类型转换
众所周知,不同类型的数值可以作的运算是不一样的,所以要对我们拿到的原始数据转换为我们想要的数据类型。在numpy数组中,数据类型转换用到的方法是astype(),在astype后的括号里面指明要转换成的目标类型即可。例子如下所示:
先来创建一个整数类型的数组
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)
复制代码
result:
[[1 2 3]
[4 5 6]
[7 8 9]]
复制代码
print(arr.dtype)
复制代码
result:
int32
复制代码
1.1 将arr数组从int类型转换成float类型
arr_float = arr.astype(np.float64)
print(arr_float)
复制代码
result:
[[1. 2. 3.]
[4. 5. 6.]
[7. 8. 9.]]
复制代码
print(arr_float.dtype)
复制代码
result:
float64
复制代码
1.2 将arr数组从int类型转换成str类型
arr_str = arr.astype(np.string_)
print(arr_str)
复制代码
result:
[[b'1' b'2' b'3']
[b'4' b'5' b'6']
[b'7' b'8' b'9']]
复制代码
print(arr_str.dtype)
复制代码
result:
|S11
复制代码
注:pandas系列之数据类型转换和异常值的处理一文中也提到过astype()方法。这里astype()方法和该系列系列中的astype()方法虽然分属于两个不同的库,但本质上是相同的,pandas中的某一列其实就是numpy数组。
2.缺失值处理
缺失值在numpy中用np.nan表示
缺失值处理拢共分2步,第一步判断是否含有缺失值,将缺失值找出来。第二步对缺失值进行填充。示例过程如下:
在处理缺失值之前,先创建一个包含有一个缺失值的数组
import numpy
arr = np.array([1, 2, np.nan, 4])
print(arr)
复制代码
result:
[ 1. 2. nan 4.]
复制代码
2.1 查找缺失值
查找缺失值用到的方法是isnan()。如果某一位置返回True,说明该位置为缺失值。返回False,则说明该位置的值不是缺失值。
查找缺失值的方法示例如下:
print(np.isnan(arr))
复制代码
result:
[False False True False]
复制代码
2.2 处理缺失值
处理缺失值的方法示例如下:
arr[np.isnan(arr)] = 0
print(arr)
复制代码
result:
[1. 2. 0. 4.]
复制代码
3.重复值处理
先创建一个重复值的数组
重复值的处理比较简单,直接调用unique()方法即可。直接看下面的例子即可。
import numpy as np
arr = np.array([1, 2, 3, 2, 1])
print(arr)
复制代码
result:
[1 2 3 2 1]
复制代码
print(np.unique(arr))
复制代码
result:
[1 2 3]
复制代码
近期评论