numpy和pandas学习小记录1
前言
numpy和pandas是python的科学计算包,其常用于深度学习中的数据处理,在此将自己的学习情况进行记录。
安装
笔者在ubuntu18.04的系统直接打开终端输入:pip install numpy,pip install pandas 进行numpy、pandas 安装
numpy基本用法
定义一个矩阵
import numpy as np
array = np.array([[1,2,3],
[2,3,4]])
print(array)
#out
#[[1 2 3]
#[2 3 4]]
#检测矩阵维数
print('number of dim:',array.ndim)
#out
#number of dim: 2
#输出矩阵的shape,指的是矩阵的是几行几列
print('shape',array.shape)
#out
#shape (2, 3)
#输出矩阵的size,指的是矩阵的元素个数
print('size',array.size)
#out
#size 6
几种特殊的矩阵
import numpy as np
#指定矩阵元素的数据类型
a = np.array([1,22,3],dtype = np.int32)
#零矩阵
a = np.zeros((3,4))
print(a)
#out
#[[0. 0. 0. 0.]
# [0. 0. 0. 0.]
#[0. 0. 0. 0.]]
#one矩阵数据类型为int32
b = np.ones((3,4),dtype=np.int32)
print(b)
#out
#[[1 1 1 1]
#[1 1 1 1]
#[1 1 1 1]]
#empty矩阵
a = np.empty((3,4),dtype = int)
print(a)
#out
#[[0 0 0 0]
# [0 0 0 0]
#[0 0 0 0]]
#创建一个arange
a = np.arange(10,20,2)
print(a)
#out
#[10 12 14 16 18]
#reshape arange
a = np.arange(20).reshape(4,5)
print(a)
#out
#[[ 0 1 2 3 4]
#[ 5 6 7 8 9]
# [10 11 12 13 14]
#[15 16 17 18 19]]
#创建一个linespace
a = np.linspace(1,10,20)
print(a)
#[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.36842105
# 3.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.21052632
# 6.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.05263158
# 9.52631579 10. ]
numpy中的几种简单计算
import numpy as np
a = np.array([[12,15,56,78],[4,8,10,67]])
b = np.arange(8).reshape((2,4))
print(a,'\n\n',b)
#[[12 15 56 78]
# [ 4 8 10 67]]
#[[0 1 2 3]
# [4 5 6 7]]
print(a+b)
#[[12 16 58 81]
# [ 8 13 16 74]]
print(a-b)
#[[12 14 54 75]
# [ 0 3 4 60]]
print(a*b)
#[[ 0 15 112 234]
# [ 16 40 60 469]]
a = np.array([[12,23],[23,45]])
b = np.arange(4).reshape((2,2))
print(np.dot(a,b))#矩阵乘法
#[[ 46 81]
# [ 90 158]]
print(a.dot(b))
#[[ 46 81]
# [ 90 158]]
a = np.random.random((2,4))
print(a)
# [[0.64884017 0.04167766 0.34324214 0.05950857]
#[0.59265584 0.95970562 0.23995345 0.54768889]]
print(np,sum(a))
#3.4332723447547036
print(np.sum(a,axis=0))#每列的sum
#[1.24149601 1.00138328 0.58319559 0.60719746]
print(np.sum(a,axis=1))#每行的sum
#[1.09326853 2.34000381]
#同理
print(np.min(a))
print(np.min(a,axis=0))
print(np.min(a,axis=1))
#0.04167765849314753
#[0.59265584 0.04167766 0.23995345 0.05950857]
#[0.04167766 0.23995345]
print(np.max(a))
print(np.max(a,axis=0))
print(np.max(a,axis=1))
#0.9597056239070333
#[0.64884017 0.95970562 0.34324214 0.54768889]
#[0.64884017 0.95970562]