首页 > 编程语言 > 详细

Python数据分析

时间:2020-03-09 00:34:58      阅读:97      评论:0      收藏:0      [点我收藏+]

Numpy从入门到实战

第一章

Numpy是什么

进行数组/矩阵计算,附带线性代数,傅立叶,随机数等一系列函数

 

优势:Python原生要写很多循环,性能慢

 

Numpy是很多数据科学类库的基础库,比如SciPy,Scikit-Learn,Tensorflow,PandlePandle等

 

第二章 Numpy编程入门

1.import

import numpy as np

2.性能对比

%timeit a(5)

 

第三章 Array对象

一.Array对象

array里的数据必须是同一数值类型

 

自身属性:

1.shape,返回一个元组,表示维度里具体有几个元素

2.ndim,维度数目

3.size,元素数目

4.dtype,元素类型

 

二.创建

1.List和嵌套List里创建

np.array([1,2,3,4,5])
np.array(
[
    [1,2,3,4,5],
    [6,7,8,9,19]   
]
)

2.预制的arange,ones/ones_like,zeros/zeros_like,empty/empyt_like,full/full_like,eye等函数创建

3.np.random模块创建随机数,比如randn生成指定为度的随机数

 

三.Array方法

1.逐元素加减乘除

2.面向多维的数组索引

3.sum/mean等聚合函数

4.线性代数计算,比如求解方程组,逆矩阵等

 

reshape函数:改变维度

arraa + 1:每个元素都?1

 

第四章.数组按索引查询

一.基础索引:

一维与List差不多:

x:全部

x[2]:单个

x[2:4]:切片

x[2:-1]

x[-3:]

x[:-3]

 

二维:

x[0,0]:x[0][0]

x[2]:单行

x[:2]:这个返回的是一个一维数组,有转置

 

切片会修改原来的数组,直接修改而不是复制得到一个新的

 

二.神奇索引:

整个数组进行索引,数组参数里是相应位置,获取一个新数组

argsort:排序,返回序列的索引数组

 

二维数组

x[[0,2]]:选择0行2行

x[[0,2], :]:同上

x[:, [0,2]]:所有行取0列,2列

x[[0, 2], [3, 4]]:指定0行2行,3列4列,返回一维数组

二维数组索引只要指定了行列坐标,就返回一维数字

 

三.布尔索引:

选择数组拷贝,对数组先做比较得到一个bool数组,再应用到数组里去

x>5:返回一个全是bool值的数组,其值取决于是否比5大

x[x>5]:返回比5大的数字组成的数组

 

二维数组:

x[x>5]:返回一个一维数组

 

条件组合:

condition = (x > 5) | (x < 4):返回布尔数组

x[condition]:数组选值

 

第五章.random的随机函数

可以参考官方文档,有三大部分

1.简单的随机函数

2.对数组随机打散

shuffle只打散行

permutation全打散,并且返回的是数组拷贝

3.复杂随机函数

 

最后一个参数是数据类型(可省略),倒数第二个是维度描述元组

 

第六章.数学统计函数

linspace:生成一个范围内,相应个数的点,均值切割

sum:和

prod:乘积

cumsum:累积加

cumprod:累积积

min:最小

max:最大

percentile:0-100百分位数

quantile:0-1分位数

median:中位数

average:加权平均

mean:平均值

std:标准差

var:方差

 

axis:上面的函数指定轴,计算轴为行还是列。为0是行(聚合韩式是跨行,消解行,而不是在行上计算),为1是列(聚合函数跨列,消解列,而不是在行上计算)。

可以理解为同性质的一起计算

 

广播:两个矩阵数目不一致,比如特征减去平均,要把平均行复制

 

标准化:每个列的量纲一致,不要差太大权重无法比较

 

Pandas数据分析从入门到实战

第一章.介绍

更简单的数据结构,更快的速度,更多的分析工具

用于数据分析,数据处理,数据可视化

 

第二章.读取数据

读取表格类型的数据,才能分析

要有行有列

csv:read_csv

excel:read_excel

mysql:read_sql

 

引入类库

import pandas as pd

读取前几行:

df.head()

展现出来的数据,第一列是索引。然后是每个数据的列

几行几列:

df.shape()

columns:列名

index:索引

dtypes:每一列类型

 

第三章.数据结构:DataFrame和Series

DataFrame:二维数据,整个表格,多行多列

Series:一维数据,一行或者一列。包含了数据和数据相关的数据标签(索引)两个数组

创建Series:

1.pd.series([])

index:获取索引

values:获取数值

2.参数里index=指定索引

3.用python字典(hash)创建

 

查询Series:

类似字典,用key即索引获取值

 

DataFrame中查询出Series:

返回一行一列是Series

返回多行多列还是DataFrame

df[‘year‘]:year是列索引,返回year那一列的Series

df.loc[1]:查询第一行

返回多行:用切片,包含了尾部元素

 

第四章.5种查询数据的方法

查询常用函数

1.loc

2.iloc

3.where

4.query

 

loc既能查又能覆写

 

降维顺序:

DataFrame->Series->value

 

df.set_index(‘ymd‘, True):设置ymd那一列为索引,里边的值获取行

 

1.数值

loc[column1, column2]

 

2.列表

loc[行1, 行2]

 

3.区间

类似切片

 

4.条件

根据bool列表查询

 

5.函数

用lambda表达式代替布尔表达式

 

 

 

 

 

 

第五章.数据merge

不同DataFrame数据merge成一个大表

merge类似SQL的join语法

 

 

 

 

 

【美国微软大神的数据分析课】Pandas vs Excel

 

Python数据分析

原文:https://www.cnblogs.com/cascle/p/12446036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!