数据分析

概述

numpy是python语言的一个扩展程序库,这个模块可以支持大量的维度数据和矩阵运算

安装:pip install numpy -i https://pypi.douban.com/simple

使用

方法:

导入模块并其别名  import numpy as np

array创建数组:np.array(列表)   

   如:arr1 = np.array([1,2,3,4,5])

full创建数组:np.full((数组维度),fill_value="填充值") 

  如arr2 = np.full((5,3),fill_value="1")

等差数列:np.linspace(起始值,结束值,num=数据个数)  #根据起始值和结束值和数据数列自动计算数据个数 

  如:arr3 = np.linspace(1,100,num = 10)

遍历:np.arange(起始数据,结束数据,间隔)

  如:arr4 = np.arange(1,100,2)

随机取值:np.random.randint(最小值,最大值,size=(数据维度))

  如:arr5 = np.random.randint(0, 100, size=(3, 4))

随机获取0-1的小数:np.random.random(size=数据个数)

  如:arr6 = np.random.random(size=(3,4))

属性:

ndim:获取数组的维度

shape:获取各维度的长度

size:总长度

dtype:元素长度

import numpy as np
arr1 = np.array([1,2,3,4,5])
arr2 = np.full((5,3),fill_value="1")
arr3 = np.linspace(1,100,num = 10)
arr4 = np.arange(1,100,2)
arr5 = np.random.randint(0, 100, size=(3, 4))
arr6 = np.random.random(size=(3,4))
print("arr1=%s"%arr1)
print("arr2=%s"%arr2)
print("arr3=%s"%arr3)
print("arr4=%s"%arr4)
print("arr5=%s"%arr5)
print("arr6=%s"%arr6)
print(arr1.ndim)
print(arr1.shape)
print(arr1.size)
print(arr1.dtype)


# 打印结果
'''
arr1=[1 2 3 4 5]
arr2=[['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']]
arr3=[  1.  12.  23.  34.  45.  56.  67.  78.  89. 100.]
arr4=[ 1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95
 97 99]
arr5=[[97 55 89 59]
 [11 36 99 59]
 [25 89 79 64]]
arr6=[[0.29921343 0.28210338 0.42484503 0.25794401]
 [0.65222899 0.15399972 0.06108913 0.38374279]
 [0.31600982 0.35209163 0.85042999 0.5903667 ]]
1
(5,)
5
int32
'''
实例和结果

数组操作:

获取数据:arr1[维度1所赢][维度2索引]......

切片:arr1[维度1起始值:维度1结束值:维度1间隔,.....]

变形reshape:改变数组维度,但数据长度必须保持一致  # arr1.reshape((数组维度))

级联concatenate:np.concatenate(数组1,数据2,axis=0/1)  # axis为0表示纵向级联,1表示横向级联

切分split():np.split(arr,行/列号,轴):参数2是一个列表类型, 参数3横向表示0纵向表示1

排序sort():

  1.np.sort(数组,axis) # axis为0表示纵向排序,1表示横向排序   # 不改变原数组

  2.arr1.sort(数组,axis) # axis为0表示纵向排序,1表示横向排序 # 改变原数组

聚合操作:

如:arr1.sum()计算数组的和

常用聚合函数:sum,prod,mean,std,var,min,max,argmin,argmax,median,percentile,any,all,power

import numpy as np
arr1 = np.random.randint(0, 100, size=(3, 4))
print("原数组",arr1)
print("获取数据",arr1[1][2])
print("切片",arr1[0:2,1:3])
print("变形",arr1.reshape((4,3)))
print("行级联",np.concatenate((arr1,arr1),axis=0))
print("列级联",np.concatenate((arr1,arr1),axis=1))
print("切分",np.split(arr1,[3],axis=0))
print("排序",np.sort(arr1,axis=0))
print("聚合函数",arr1.sum())


# 打印结果
'''
原数组 [[25 19  1  5]
 [78 81 55 19]
 [ 5 28 28 34]]
获取数据 55
切片 [[19  1]
 [81 55]]
变形 [[25 19  1]
 [ 5 78 81]
 [55 19  5]
 [28 28 34]]
行级联 [[25 19  1  5]
 [78 81 55 19]
 [ 5 28 28 34]
 [25 19  1  5]
 [78 81 55 19]
 [ 5 28 28 34]]
列级联 [[25 19  1  5 25 19  1  5]
 [78 81 55 19 78 81 55 19]
 [ 5 28 28 34  5 28 28 34]]
切分 [array([[25, 19,  1,  5],
       [78, 81, 55, 19],
       [ 5, 28, 28, 34]]), array([], shape=(0, 4), dtype=int32)]
排序 [[ 5 19  1  5]
 [25 28 28 19]
 [78 81 55 34]]
聚合函数 378
'''
View Code

 

原文地址:https://www.cnblogs.com/mark--ping/p/11785855.html