Python学习2之NumPy
本系列文章用于以后编写代码直接调用某些代码,也用作一个学习后的记录,参考书籍为《Python数据分析与应用》,黄红梅,张良均主编,张凌,施兴,周东平副编,中国工信出版集团,人民邮电出版社,ISBN:9787115373045,文章附有代码和数据,学习起来较为容易 例如:第二章NumPy包的使用前言
NumPy包的使用,主要是基础方面学习
一、NumPy是什么?
示例:NumPy 是用于数据科学计算的模块,在Python经常被调用。
二、使用步骤
1.基础使用版
1.1数组对象ndarry
掌握ndarry的使用,即数组,主要是创建数组,主要内容,包括一维数组,二维数组的创建;查看数组的信息,包括类型,个数,元素大小;通过arange,linspace等函数创建数组;数组中数据类型的转换;创建数据类型及自定义数组数据;生成各种随机数;使用不同索引调用数组;数组展平的不同方式;数组横向纵向组合的不同方式;数组分割的不同方式 。
代码如下(示例):
import numpy as np #导入 NumPy 库
arr1 = np.array([1, 2, 3, 4]) #创建一维数组
arr2 = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])# 创建二维数组
print('数组类型为:',arr2.dtype) #查看数组类型
print('数组元素个数为:',arr2.size) #查看数组元素个数
print('数组每个元素大小为:',arr2.itemsize) #查看数组每个元素大小
arr2.shape = 4,3 #重新设置shape
print('重新设置shape 后的arr2 为:',arr2)
# 不同方式创建数组
print('使用arange函数创建的数组为:\n',np.arange(0,1,0.1))
print('使用linspace函数创建的数组为:',np.linspace(0, 1, 12))
print('使用logspace函数创建的数组为:',np.logspace(0, 2, 20))
print('使用zeros函数创建的数组为:',np.zeros((2,3)))
print('使用eye函数创建的数组为:',np.eye(3))
print('使用diag函数创建的数组为:',np.diag([1,2,3,4]))
print('使用ones函数的数组为:',np.ones((5,3)))
# 数组中的数据类型转换
print('转换结果为:',np.float64(42)) #整型转换为浮点型
print('转换结果为:',np.int8(42.0)) #浮点型转换为整型
print('转换结果为:',np.bool(42)) #整型转换为布尔型
print('转换结果为:',np.bool(0)) #整型转换为布尔型
print('转换结果为:',np.float(True)) #布尔型转换为浮点型
print('转换结果为:',np.float(False)) #布尔型转换为浮点型
# 创建数据类型并查看
df = np.dtype([("name", np.str_, 40), ("numitems", np.int64),
("price",np.float64)])
print('数据类型为:',df)
print('数据类型为:',df["name"])
print('数据类型为:',np.dtype(df["name"]))
# 自定义数组数据
itemz = np.array([("tomatoes", 42, 4.14),("cabbages", 13, 1.72)],
dtype=df)
print('自定义数据为:',itemz)
# 生成随机数
print('生成的随机数组为:',np.random.random(100))#100行1列的随机数,在(0,1)之间
print('生成的随机数组为:\n',np.random.rand(10,5))#10行5列的随机数,在(0,1)之间
print('生成的随机数组为:\n',np.random.randn(