1.什么是数据分析
2 数据分析实现流程
3 开发环境介绍
- anaconda
- 官网:https://www.anaconda.com/
- 集成环境:集成好了数据分析和机器学习中所需要的全部环境
- jupyter
- jupyter就是anaconda提供的一个基于浏览器的可视化开发工具
- jupyter的基本使用
- 启动:在终端中录入:jupyter notebook的指令,按下回车
- 新建:
- python3:anaconda中的一个源文件
- cell有两种模式:
- 快捷键:
- 添加cell:a或者b
- 删除:x
- 修改cell的模式:
- m:修改成markdown模式
- y:修改成code模式
- 执行cell:
- tab:自动补全
- 代开帮助文档:shift+tab
4 数据分析三剑客
- numpy
- pandas(重点)
- matplotlib
5. numpy模块
- NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。使用NumPy构建多维数组,在此基础上执行的数值运算。
?????? 5.1 numpy创建数组 - 使用np.array()创建
import numpy as np
arr = np.array([1,2,3])
arr = np.array([[1,2,3],[4,5,6]])
arr
arr = np.random.randint(0,100,size=(5,6))
arr
?????? 5.2 numpy的常用属性
- shape: 数组形状
- ndim:维度
- size:元素个数
- dtype 元素类型
?????? 5.2 numpy数组的取值操作
行列之间用逗号隔开 取连续的用 冒号 取多个行 用中括号括起来
arr[1]
arr[2,1]
arr[[1,3,4]]
arr[0:2]
arr[:,0:2]
arr[0:2,0:2]
?????? 5.2 numpy数组常用方法
arr
arr_1 = arr.reshape((10,3))
- 计算函数
- 最大值 最小 平均 方差 …等常见的数学运算 numpy数组都会提供
sum,max,min,mean 平均 ptp() 最大值与最小值的差
arr.max(axis=1): 求每行的最大值
arr.mean(): 求平均
arr.ptp():最大值与最小值的差
将多个numpy数组进行横向或者纵向的拼接
axis轴向的理解:0:列 1:行
np.concatenate((arr,arr),axis=1)
6. pandas模块
?????? 6.1 为什么要学习pandas
- numpy能够帮助我们处理的是数值型的数据,但在数据分析中除了数值型的数据还有非数值型数据(字符串,时间序列),那么pandas就可以帮我们很好的处理除数值型的其他数据。
?????? 6.2 pandas中常用的两个类
?????? 6.3 pandas中常用的方法
pd.to_datetime(col)
7. pandas模块
?????? 7.1 创建Series
from pandas import Series
import numpy as np
s = Series(data=[1,2,3,'four'])
s = Series(data=np.random.randint(0,100,size=(3,)))
s = Series(data=[1,2,3,'four'],index=['a','b','c','d'])
dic = {
'语文':[100,2],
'数学':99,
'理综':250
}
s = Series(data=dic)
?????? 7.2 Series 取值
s[0]:取第一行的值
s.语文:取索引为语文这一行的值
s[0:2]:取0到2行的值
?????? 7.3 Series常用属性
s.shape
s.size
s.index
s.values
s.dtype
?????? 7.4 Series常用方法以及运算
s = Series(data=np.random.randint(60,100,size=(10,)))
s.head(3)
s.tail(3)
s.unique()
s.isnull()
s.notnull()
s.add(s)
s.sub(s)
s.mul(s)
s.div(s)
8. DataFrame模块
?????? 8.1 什么是DataFrame
?????? 8.2 DataFrame 和Series的区别与联系
- 区别:
series: 只是一个一维数据结构,它由index和value组成。 dataframe: 是一个二维结构,除了拥有index和value之外,还拥有column。 - 联系:
dataframe由多个series组成,无论是行还是列,单独拆分出来都是一个series。
?????? 8.3 DataFrame 数据源的构建
- DataFrame可以从很多的数据源构建,比如:数组或者字典创建,结构化文件,外部数据库,hive表
df=DataFrame(data=[[1,2,3],[4,5,6],[3,45,3,3]])
df = DataFrame(data=np.random.randint(0,100,size=(6,4)))
dic = {
'name':['zhangsan','lisi','wanglaowu'],
'salary':[1000,2000,3000]
}
df = DataFrame(data=dic,index=['a','b','c'])
?????? 8.4 DataFrame 常用属性
df.values
df.columns
df.index
df.shape
?????? 8.5 DataFrame 常用方法以及运算
例子
给李四这一列 +100的两种实现方式 qizhong[‘李四’]=qizhong[‘李四’]+100 qizhong_add100=qizhong.add([0,100],axis=‘columns’)
?????? 8.6 DataFrame 取值
h2=df.loc['2001-08-27']
h3=df.loc['2001-08-27':'2001-09-27']
h4=df.loc[['2001-08-27','2001-09-27']]
h5=df.loc[:,'open']
df['open']
h6=df.loc[:,['open','high']]
h6=df[['open','high']]
h7=df.loc[:,'open':'low']
|