首页 > 技术文章 > 第四课 python基础

REN-Murphy 2020-11-10 11:52 原文

python库

  Numpy:为python提供快速的多维数组处理能力

  Pandas:在Numpy基础上提供了更多的数据读写工具

  Scipy:在Numpy上添加了众多科学计算工具包

  Matplotlib:Python丰富的绘图库

 

 

导入Numpy函数库,一般都是这样的形式
# 导入Numpy函数库,一般都是这样的形式
import numpy as np
import matplotlib as mpl

创建一个列表对象,通过array函数,转成数组
# 创建一个列表对象
list1 = [1,2,3,4,5]
print(list1,type(list1))

# 通过array函数,转成数组
a = np.array(list1)
print(a,type(a))

创建多维数组
# 创建多维数组
list2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a2 = np.array(list2)
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)
# 创建一个多维数组,里面的3行4列中的元素都是在[0,1)
d = np.random.rand(3,4)
print(d.shape,type(d))
print(d)

可以强制修改shape
# 创建多维数组
list2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a2 = np.array(list2)
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)

# 也可以强制修改shape
a2.shape = 2,6
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)

 数组的转置

 

# 创建多维数组
list2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a2 = np.array(list2)
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)

# 数组的转置transpose(注意,shape属性只是改变每个轴的大小,并不能实现数组的转置)
b = a2.transpose()
print("数组的形状:{0}\t数据类型:{1}".format(b.shape,type(b)))
print(b)

 

reshape方法,可以创建改变了尺寸的新数组,原数组保持不变(注意方法里面要加括号)
# 创建多维数组
list2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a2 = np.array(list2)
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)

# 使用reshape方法,可以创建改变了尺寸的新数组,原数组保持不变
c = a2.reshape((4,-1))
print("数组的形状:{0}\t数据类型:{1}".format(c.shape,type(c)))
print(c)
# 注意,数组c与a2共享内存,修改任意一个,将影响另外一个
a2[0][0] = 100
print("修改后的数组a2")
print(a2)
print("修改后的数组c")
print(c)


更改元素类型,可以使用astype安全的转换
# 创建多维数组
list2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a2 = np.array(list2)
print("数组的形状:{0}\t数据类型:{1}".format(a2.shape,type(a2)))
print(a2)

# 如果更改元素类型,可以使用astype安全的转换
s = a2.astype(np.str)
print("更改元素类型为str")
print(s)


 

 

 


 

推荐阅读