python课堂笔记2数据分析

这是一份深入讲解Python数据分析的学习笔记,涵盖了NumPy的数组操作、矩阵创建及统计分析,Matplotlib的基础语法和各种图表绘制,以及pandas的数据读写、DataFrame操作和数据预处理技巧,包括合并、清洗、标准化和转换数据。
摘要由CSDN通过智能技术生成

用书:《python数据分析与应用》
语雀知识库

数据分析

第二章NumPy

数组ndarray

数组属性

创建数组

np.array([])

np.arange() np.linspace() np.logspace()

np.zeros() np.eye() np.diag() np.ones()

生成随机数

np.random.random(10)

np.random.rand(4,3)

np.random.rand(4,3)

np.random.randint(2,10,size=[2,5])

改变数组形状

np.reshape() np.ravel() np.flatten()

组合数组
分割数组

矩阵

创建矩阵

np.mat() np.matrix() np.bmat()

ufunc函数
ufunc函数的广播机制

用于不同形状的数组之间之间算术运算

利用NumPy进行统计分析

读/写文件
二进制文件存储读取

np.save() 保存单个数组对象 .npy

import numpy as np  #导入NumPy库
arr = np.arange(100).reshape(10,10)  #创建一个数组
np.save("../tmp/save_arr",arr)  #保存数组

np.savez() 保存多个数组对象 .npz

arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = np.arange(0,1.0,0.1)
np.savez('../tmp/savez_arr',arr1,arr2)

存储时可以省略后缀名,读取时不能省略

np.load()

loaded_data = np.load("../save_arr.npy")  #读取含有单个数组的文件
print('读取的数组为:\n',loaded_data)

loaded_data1 = np.load("../savez_arr.npz")  #读取含有多个数组的文件
print('读取的数组1为:',loaded_data1['arr_0'])
print('读取的数组2为:',loaded_data1['arr_1'])

print(‘读取的数组1为:’,loaded_data1**[‘arr_0’])
print(‘读取的数组2为:’,loaded_data1
[‘arr_1’]**)

文件存储与读取

np.savetxt()

np.loadtxt()

arr = np.arange(0,12,0.5).reshape(4,-1)
#-1表示根据指定的行数得到列数,不需自己指定列数
print('创建的数组为:',arr)
#fmt ="%d"为指定保存为整数
np.savetxt("../arr.txt", arr, fmt="%d", delimiter=",")
#读入的时候也需要指定逗号分隔
loaded_data = np.loadtxt("../arr.txt",delimiter=",")
print('读取的数组为:',loaded_data)
利用函数进行简单的统计分析
排序

直接排序

sort() arr.sort(axis=1) 沿横轴排序 缺省横轴 axis=0沿纵轴排序

间接排序

argsort() arr.argsort() 返回排序后元素索引的数组

lexsort() 一次性对多个键的数组执行简介排序

a = np.array([3,2,6,4,5])
b = np.array([50,30,40,20,10])
c = np.array([400,300,600,100,200])
d = np.lexsort((a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值