randn(d0, d1, …, dn)
用于创建标准的正态分布的数组
标准的正太分布式(0,1)分布,无偏差,非常完美的正太分布。
d0,d1…表示数组的维度
arr=np.random.randn(5)
arr
array([ 0.4289185 , -0.79038682, 0.36198346, 0.5249318 , 1.8196681 ])
arr=np.random.randn(2,4)
arr
array([[-0.92095412, -0.90581557, 1.34648072, -0.55155396],
[-1.31549554, 0.77222024, 0.19243332, 0.81816519]])
np.round(a, decimals=0, out=None)
该函数是对数组的数据进行四舍五入,可以保留任意位的小数,默认是取整
np.round(arr,4)
array([ 0.4289, -0.7904, 0.362 , 0.5249, 1.8197])
np.sum(
a,
axis=None,
dtype=None,
out=None,
keepdims=,
initial=,
)
1. 一维数组,但是在求和时,不能选择轴,只能从头加到尾
array([ 0.4289185 , -0.79038682, 0.36198346, 0.5249318 , 1.8196681 ])
np.sum(arr)
2.34511503838318
默认是从头加到尾
2. 二维数组,可以从头加到尾,也可以要求根据那个轴进行相加
arr=np.random.randint(2,10,(2,5))
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.sum(arr)
49
逐行按列
np.sum(arr,0)
array([ 6, 5, 12, 14, 12])
逐列按行
np.sum(arr,1)
array([18, 31])
np.mean(a, axis=None, dtype=None, out=None, keepdims=)
求取算数平均值,求解的步骤和sum函数一致
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.mean(arr)
4.9
np.mean(arr,0)
array([3. , 2.5, 6. , 7. , 6. ])
np.mean(arr,1)
np.min(a, axis=None, out=None, keepdims=, initial=)
默认返回所有值中的最大或最小值
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.min(arr)
2
np.max(arr)
9
np.min(arr,0)
array([2, 2, 4, 5, 4])
np.min(arr,1)
array([2, 2])
np.argmin(a, axis=None, out=None)
返回值是最小值或最大值的所在位置的下标
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.argmin(arr)
0
np.argmin(arr,0)
array([0, 1, 0, 0, 0], dtype=int64)
np.argmin(arr,1)
array([0, 1], dtype=int64)
cumsum用于求解数组的累积和
cumprod用于求解数组的累积积
np.cumsum(a, axis=None, dtype=None, out=None)
np.cumsum(arr)
array([ 2, 5, 9, 14, 18, 22, 24, 32, 41, 49], dtype=int32)
np.cumsum(arr,0)
array([[ 2, 3, 4, 5, 4],
[ 6, 5, 12, 14, 12]], dtype=int32)
np.cumsum(arr,1)
array([[ 2, 5, 9, 14, 18],
[ 4, 6, 14, 23, 31]], dtype=int32)
特点是:
相加之后并把累积的和通下一个数替换,达到累加或累积的效果
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
boo_ar=(arr>=3)&(arr<=8)
boo_ar
array([[False, True, True, True, True],
[ True, False, True, False, True]])
boo_ar.sum(0)
array([1, 1, 2, 1, 2])
boo_ar.sum(1)
array([4, 3])
boo_ar.any()
True
boo_ar.all()
False
any用于检验数组中是否由true,如果有,就返回真,否则返回,假
all用于检验数组中是否都由true组成,是就返回真,否则,返回假
np.isnan(*args, **kwargs)
Test element-wise for NaN and return result as a boolean array.
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.isnan(arr)
array([[False, False, False, False, False],
[False, False, False, False, False]])
注意:
在进行数据处理时,不应破坏原始数据的位置,
例如删除数据时可以从下往上删,这样不会引起数据大幅度的移动
数据分析的意义:如果要进行数据的移动,必须是整行的移动或整列的移动,不应破坏数据的一致性
np.delete(arr, obj, axis=None)
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
np.delete(arr,1)
array([2, 4, 5, 4, 4, 2, 8, 9, 8])
np.delete(arr,[1,3,4])
array([2, 4, 4, 2, 8, 9, 8])
np.delete(arr,1,axis=0)
array([[2, 3, 4, 5, 4]])
np.delete(arr,[1,3],axis=1)
array([[2, 4, 4],
[4, 8, 8]])
注意:
当不指定围绕哪个轴进行删除时,就从头排到尾,进行指定的删除;
当指定轴时,0表示行,1表示列,按照0/1进行删除
a.sort(axis=-1, kind=‘quicksort’, order=None)
默认是-1轴进行排序,也就是逐列按行
0轴排序,也就是逐行按列
arr
array([[2, 3, 4, 5, 4],
[4, 2, 8, 9, 8]])
arr.sort()
arr
array([[2, 3, 4, 4, 5],
[2, 4, 8, 8, 9]])
arr.sort(0)
arr
array([[2, 3, 4, 4, 5],
[2, 4, 8, 8, 9]])
np.sort(a, axis=-1, kind=‘quicksort’, order=None)
Return a sorted copy of an array.
默认是按行排序
arr=np.random.randint(2,10,(2,4))
arr
array([[3, 3, 4, 3],
[8, 4, 3, 2]])
np.sort(arr)
array([[3, 3, 3, 4],
[2, 3, 4, 8]])
注意:
不管是永久性删除,还是一次删除,都是破坏了数据的一致性原则,不是很好的排序
np.unique(
ar,
return_index=False,
return_inverse=False,
return_counts=False,
axis=None,
)
Returns the sorted unique elements of an array.
arr=np.array([[1,2,3,1,3],[2,3,3,3,3]])
arr
array([[1, 2, 3, 1, 3],
[2, 3, 3, 3, 3]])
np.unique(arr,return_counts=True)
(array([1, 2, 3]), array([2, 2, 6], dtype=int64))
判断数组1中的元素是否在数组2中
np.in1d(ar1, ar2, assume_unique=False, invert=False)
Returns a boolean array the same length as ar1
that is True
where an element of ar1
is in ar2
and False otherwise.
arr=np.random.randint(2,10,5)
arr_1=np.random.randint(2,10,7)
print(arr)
arr_1
[5 2 9 4 8]
array([9, 7, 4, 5, 2, 4, 7])
np.in1d(arr,arr_1)
array([ True, True, True, True, False])
1.交集--两个数组所共有的
np.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)
arr=np.random.randint(2,10,5)
arr_1=np.random.randint(2,10,7)
print(arr)
arr_1
[5 2 9 4 8]
array([9, 7, 4, 5, 2, 4, 7])
np.intersect1d(arr,arr_1)
array([2, 4, 5, 9])
2.并集----两个数组的所有数据
np.union1d(arr,arr_1)
array([2, 4, 5, 7, 8, 9])
3.差集-----一个数组相对于另一个数组的差异数据
np.setdiff1d(arr,arr_1)
array([8])
4.异或-----两个数组所共有的差异数据
np.setxor1d(arr,arr_1)
array([7, 8])
! type 文件的路径
随时可查看文件里的数据,不需要打开文件
因篇幅问题不能全部显示,请点此查看更多更全内容