常用库:numpy、pandas、matplotlib、IPython、Jupter、SciPy、scikit-learn、stasmodels
详解:
必须掌握基础:numpy、pandas、matplotlib
一、numpy:科学计算基础包
功能:多维数组执行计算(ndarray)、函数计算、读取数据集....
#我个人觉得这个包了解一下就好,基本上去学这一块的话这一个包是必用的咱记得导入就行,只记功能就好,不需要去了解那么细
关于numpy的数据类型我整理了一下,如下:
numpy数据类型
名称 | 描述 |
---|---|
bool_ | 布尔型数据类型(True 或者 False) |
int_ | 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) |
intc | 与 C 的 int 类型一样,一般是 int32 或 int 64 |
intp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) |
int8 | 字节(-128 to 127) |
int16 | 整数(-32768 to 32767) |
int32 | 整数(-2147483648 to 2147483647) |
int64 | 整数(-9223372036854775808 to 9223372036854775807) |
uint8 | 无符号整数(0 to 255) |
uint16 | 无符号整数(0 to 65535) |
uint32 | 无符号整数(0 to 4294967295) |
uint64 | 无符号整数(0 to 18446744073709551615) |
float_ | float64 类型的简写 |
float16 | 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位 |
float32 | 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位 |
float64 | 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位 |
complex_ | complex128 类型的简写,即 128 位复数 |
complex64 | 复数,表示双 32 位浮点数(实数部分和虚数部分) |
complex128 | 复数,表示双 64 位浮点数(实数部分和虚数部分) |
常用ndarray对象属性:
ndarray.ndim | 秩,即轴的数量或维度的数量 |
ndarray.shape | 数组的维度,对于矩阵,n 行 m 列 |
ndarray.size | 数组元素的总个数,相当于 .shape 中 n*m 的值 |
ndarray.dtype | ndarray 对象的元素类型 |
ndarray.itemsize | ndarray 对象中每个元素的大小,以字节为单位 |
ndarray.flags | ndarray 对象的内存信息 |
ndarray.real | ndarray元素的实部 |
ndarray.imag | ndarray 元素的虚部 |
ndarray.data | 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。 |
#我对numpy的常用函数进行了一个总结如下
常用数组创建函数
arry([x,y,x],dtype = int) #将列表转换为数组
arange([x,]y[,i]) #创建从x到y,步长为i的数组
linspace(x,y[,n]) #参数为起始值、终止值和元素总数,创建一维等差数组
logspace(x,y[,n]) #参数为起始值、终止值和元素总数,创建一维等比数组
random.rand(m,n) #创建m行n列的随机数组
zeros(shape,dtype=float,order='C') #创建全0数字,shape要以元组格式传入,表示行与列的数量
ones(shape,dtype=None,order='C') #创建全1数组,shape要以元组格式传入,表示行与列的数量
empty(shape,dtype=None,order='C') #创建拥有趋近0值的数组,shape要以元组格式传入,表示行于列的数量
ufuc函数及其对应的数组运算表达式
add(x1,x2[,y]) y = x1 + x2
subtract(x1,x2[,y]) y = x1 - x2
multiply(x1,x2[,y]) y = x1 * x2
divide(x1,x2[,y]) y = x1 / x2
true_divide(x1,x2[,y]) y = x1 / x2
floor_divide(x1,x2[,y]) y = x1 // x2
power(x1,x2[,y]) y = x1 ** x2
mod(x1,x2[,y]) y = x1 % x2
remainder(x1,x2[,y]) y = x1 % x2
negative(x[,y]) y = -x
#真的一个一个敲上来挺累的就当记忆了,全部总结到一起会好记一点
部分统计函数 (简单)
min() #最小值 max() #最大值
argmax() #最大值索引 argmin() #最小值索引
cumsum() #所有元素累加 cumprod() #所有元素累乘
mean() #均值 ptp() #极差 median() #中位数 std() #标准差
var() #方差 cov() #协方差() sum() #对数组元素进行求和
二、pandas:数据处理包 (基于numpy)
功能:数据操作、准备、清洗
数据结构:(百度百科)
Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。
Time- Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。
Panel :三维的数组,可以理解为DataFrame的容器。
Panel4D:是像Panel一样的4维数据容器。
PanelND:拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。
#我们常用的主要是DateFrame、Series,了解这两个其实就差不多了
DataFrame我在写论文的时候常用,用Anaconda的spyder可以查看数据,如下图:
通常用法:
import pandas as pd
#读取文件中的数据
a = pd.read_table('xxx.txt',encoding='utf-8')
a = pd.read_csv('xxx.csv',endcoding='utf-8')
#更多用法实践下一篇再写
三、Matplotlib:数据可视化! 画图 必备包
常用引用
import matplotlib.pyplot as plt #导入pyplot子库
基本颜色代码:
blue;b #蓝色 red;r #红色 cyan;c#青色 megenta;m#洋红色
green;g#绿色 yellow;y#黄色 black;k#黑色 white;w#白色
线条风格:
- # 实线 : # 虚线 - - # 破折线 -. #点画线
常用线条标记
, #像素 > #右三角形
. #点 < #左三角形
o #圆 v #倒三角形
D #菱形 ^ #真三角形
d #小菱形 1 #正三分支
s #正方形 2 #倒三分支
p #五边形 3 #左三分支
h #六边形 4 #右三分支
H #六边形 * #星号
8 #八边形 + #加号
I #竖直线 P #填充的加号
_ #水平线 x #X乘号
None," "、"" #无标记 ‘$...$' #字符串转为数学文本描述
标签相关函数
title() #为当前绘图添加标题
legend() #为当前绘图放置图注
annotate() #为指定数据点创建注释
xlabel(s) #设置x轴标签
ylabel(s) #设置y轴标签
xticks() #设置x轴刻度位置和标签
yticks() #设置y轴刻度位置和标签
坐标轴相关函数
xlim(xmin,xmax) #设置当前x轴取值范围
ylim(ymin,ymax) #设置当前y轴取值范围
绘制直线相关函数
axhline(x=0,ymin=0,ymax=1) #绘制水平线,y取值从0到1整个区间
hlines() #绘制水平线
axvline(x=0,ymin=0,ymax=1) #绘制垂直线,y取值从0到1为整个区间
vlines() #绘制垂直线
填充相关函数
axhspan() #水平区域
axvspan() #竖直区域
fill_between() #填充两条曲线围起的区域,区间由横坐标限定
fill_betweenx() #填充两条曲线围起的区域,区间由纵坐标限定
保存与显示相关函数
savefig('文件名') #保存绘制的图形,必须置于绘制完成之后和show()之前
show() #显示绘制的图像,同时清空缓冲区
#本篇根据基础常用必先学习的三个库进行了基础解释和相关基础函数的介绍,对于python大佬来说都是些简单玩意,但对于小白来说这些是我们需要去记住和了解的,下一篇文章会根据现有的知识基础上进行实际数据分析操作,给爱好python编程的同学一些经验,因为我是小白!所以我学习的过程小白一定可以看得懂,大家一起学习一起进步!