数据挖掘(一)——numpy入门操作

Numpy入门操作

NumPy(Numerical Python)是常用的python模块,可用来存储和处理大型矩阵

一、numpy库的导入和常用操作

import numpy as np

'''np.zeros(shape,dtype=float,order='C'):创建一个形状为shape的全零数组,
dtype:数组类型。order=C代表与c语言类似,行优先;F代表列优先'''
print(np.zeros([2,2]))#生成全零数组
print(np.ones([2,2]))#生成全1数组
print(np.eye(2))#创建对角矩阵

print(np.empty([3,3]))#np.empty(shape,dtype=float,order='C'):生成一个未初始化的数组
print(np.full([3,3],6))#生成一个fill_value填充的数组
print(np.linspace(0,100,10))#生成一个等间隔的数组

输出:

[[0.00000000e+000 0.00000000e+000 0.00000000e+000]
 [0.00000000e+000 0.00000000e+000 5.84973725e-321]
 [1.11261638e-306 2.22522596e-306 3.91786943e-317]]
[[6 6 6]
 [6 6 6]
 [6 6 6]]
[  0.          11.11111111  22.22222222  33.33333333  44.44444444
  55.55555556  66.66666667  77.77777778  88.88888889 100.        ]

a=np.array([1,2,3])
print(a.shape)
print(a.size)#数组元素数量
a[0]=5
print(a[0],a[1],a[2])
b=np.array([[1,2,3],[4,5,6]])
print(b[0,0],b[0,1],b[1,0])
print(b.shape)

输出: (3,)
3
5 2 3
1 2 4
(2, 3)

arr1 = np.array([1,2,3],dtype=float64)
arr2 = np.array([1,2,3],dtype=np.int32)
print(arr1.dtype)
print(arr1)
print(arr2.dtype)

输出:
float64
[1. 2. 3.]
int32

三、索引和切片

arr = np.arange(10)
arr_slice = arr[5:8]
arr_slice[1]=999
print(arr)
arr_slice[:]=14
print(arr)

输出:[ 0 1 2 3 4 5 999 7 8 9] [ 0 1 2 3 4 14 14 14 8 9]

names = np.array(['Bob','Will','Bob','Joe'])
data = np.array([[-3,2,0,-1],[1,2,3,-4],[2.5,1.7,-0.2,1],[-8,-4,9,10]])
print(data[names=='Bob'])
print(data[names=='Bob',2:])

输出:[[-3. 2. 0. -1. ] [ 2.5 1.7 -0.2 1. ]]

[[ 0. -1. ] [-0.2 1. ]]

四、基本统计方法

arr3 = np.arange(20).reshape((4,5))#方法改变数组形状
print('arr3:',arr3)
print('arr3的均值',arr3.mean())    #方法求均值
print('和',arr3.sum())             #求和
print('arr3每行的均值',arr3.mean(1))#对每行求平均值,1行,0列
print('每列的和',arr3.sum(0))       #对每列求和

输出:

arr3: [[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
arr3的均值 9.5
 和 190
arr3每列的均值 [ 2.  7. 12. 17.]
每列的和  [30 34 38 42 46]
#了解数组转置
samples =np.random.normal(size=(2,2))
#np.random.normal(loc=0.0, scale=1.0, size=None):从正态分布中随机抽取样本生成一个
#数组。loc为分布的平均值,scale为标准差,size为数组形状
print(samples)
print('转置后:',samples.T)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值