Python中数据管理模块——Numpy

Python数据分析模块numpy

一、如何创建一个数组?

  1. 创建全0数组
pa = np.zeros((2,2))
print(pa)
[[0. 0.]
 [0. 0.]]
  1. 创建全1数组
    同zeros函数用法相同,np.ones

3.创建指定元素的数组

b = np.array([[1,2,3],[2,3,4]])
print(b)
[[1 2 3]
 [2 3 4]]

4.按照一定规律建立数组

c = np.arange(1,10,2)
print(c)
[1 3 5 7 9]

二、Numpy属性

  1. ndim #数组维度,即确定数组中某一特定元素,需要的指标个数
d = np.array([[1,2,3],[2,3,4]])
print(d.ndim)
2
print(d[1,1])
3
  1. shape #统计数组的行数和列数
print(d.shape)
(2, 3)
  1. size #统计数组中元素的个数
print(d.size)
6
  1. reshape #改变数组的形状
e = d.reshape(3,2)
print(e)
[[1 2]
 [3 2]
 [3 4]]

三、Numpy数组中基本运算

  1. 对应元素的加、减、乘、除
a = np.array([[1,2,3],[1,2,3]])
b = np.array([[1,1,1],[1,2,1]])
print(a*b)#乘法
[[1 2 3]
 [1 4 3]]

2.矩阵的运算

b = b.reshape(3,2)
c = np.dot(a,b)
print(c)
[[9 6]
 [9 6]]

3.其它基本运算
np.sum()#求和
np.mean()#求均值
np.argmax()#找出最大元素的下标
np.argmin()#找出最小元素的下标
np.cumsum()#累加运算
np.diff()#累差运算
转置的两种方法:

print(a)
[[1 2 3]
 [1 2 3]]
np.transpose(a)#第一种
Out[34]: 
array([[1, 1],
       [2, 2],
       [3, 3]])
print(a.T)#第二种
[[1 1]
 [2 2]
 [3 3]]

四、两个数组合并

  1. 上下合并
print(a.T)
[[1 1]
 [2 2]
 [3 3]]
print(b)
[[1 1]
 [1 1]
 [2 1]]
print(np.vstack((a.T,b)))
[[1 1]
 [2 2]
 [3 3]
 [1 1]
 [1 1]
 [2 1]]

合并数组的函数还有np.concatenate()

A = np.arange(12).reshape(3,4)
np.concatenate((A,A),axis=0)
Out[12]: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

列表的合并见下

import numpy as np
a = [[1,2],[3,4]]
b = np.concatenate([a,[a[0]]])
print(b)
[[1 2]
 [3 4]
 [1 2]]

五、数组的分割与拷贝

分割可分横向分割、纵向分割及不等量分割,可通过axis=0或1实现

print(np.split(A,3,axis=0))#实现横向分割
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]

用“=”赋值,如:

B = A
print(B)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

若改变A中的元素,B中相应位置的元素也会发生改变

A[0][0]=2
print(B)
[[ 2  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

若采用copy()函数,赋值变不会改变,如:

C = A.copy()
A[0][0]=10
print(C)
[[ 2  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

但需要将copy使用的位置

六、数组内数据类型的转换

使用.astype函数可实现元素类型直接转换,并不改变元素自身的值。还有一个.dtype()函数,其用法也十分有趣。

C.astype(float)
Out[25]: 
array([[ 2.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.],
       [ 8.,  9., 10., 11.]])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值