Python数据分析入门,python是什么

python 4
Python数据分析入门 中国人民大学图书馆洪先锋2019/11/18 入门课程目的 •前言:Python数据分析与工作学习定位•数据分析的3种姿势•Anaconda简介与安装使用•python语法基础•常用库安装与使用简介•案例学习:网络爬虫、多元线性回归、KNN聚类 Python数据分析能做什么?Python数据分析怎么做?我能用Python做什么? 前言——数据科学:你的位置在哪? 第一部分python数据分析的3种姿势 数据不是万能的 大数据第四范式数据科学…… 但是,不能唯数据论!更不能为了分析而分析,不能忽略了领域知识的掌握和研究,要以问题为导向,否则数据分析也就失去了价值。
开源学习 单点突破 Python,python数据分析,Ipython,Anaconda,NPL……云计算,linux系统,NoSql……数据挖掘,数据分析,决策树,K-means,KNN,SVM…… 第二部分Anaconda简介与安装使用 Python 为什么用Python做数据分析和科学计算? 第三方程序包庞大而活跃的生态系统!!Numpy处理同类型数组Pandas处理多种类型带标签的数据Scipy解决常见的科学计算问题Matplotlib绘制可视化图形IPython实现交互式编程和快速代码分享Scikit-Learn进行机器学习………… GuidovanRossum Anaconda 简单说,Anaconda是Python的环境管理器和包管理器,可以方便地对包进行下载、更新、删除等操作。
/download/ 注意事项:
1、注意安装将路径添加到PATH中;
2、全部安装可安装多达700多个包,几乎覆盖所有常用的包 SpiderandJupyter-notebook 输入框 变量窗口 结果输出框 按块输出结果,方便代码保存与分享 包的管理 列出已经安装的包pip/condalist 安装包pip/condainstallpackage 更新包condaupdatepackage(--all) 删除包condaremovepackage jupyternotebook操作 两类cells:#in#out 两种modes:#Commandmode#Editmode 两类格式:#Code#Markdown 快捷键: command模式下的快捷键 Edit模式下的快捷键 A:上方添加cellB:下方添加cellC:复制选中的cellX:剪切选中的cellV:粘贴选中的cellD,D:删除选中的cellY:更改cell为code模式M:更改cell为markdown模式up:选择上方的celldown:选择下方的cell1-9:更改cell为1-9级标题 ctrl+Enter:运行cellctrl+/:将选中的内容标记为注释ctrl+shift+-:拆分cellalt+enter:运行cell,并新建cell 第三部分Python语法基础 Python语言特征 Python是“解释型语言” 编译型语言与解释型语言 Python是“可执行的伪代码” 1+
2 Python认为“一切都是对象” 继承、多态、封装 变量中存储的是“引用” 如果b=a,b会随着a的变化而变化 数据类型与基本运算 数字(intplex)字符串(str)布尔型(bool)列表list[]元组tuple()字典dict{} 数据类型与基本运算 基本运算 算术运算:加+减-乘*除/模%地板除//幂** 比较运算:等于==不等于!=大于>小于<大于等于>=小于等于<= 赋值运算:1链式赋值2复合赋值 3解包赋值 4赋值调换 i=j=
2 i=2i+=20 a,b,c=1,2,
3 a,b=b,a 逻辑运算:与and或or非not按位运算:a=00111100b=00001101 按位与a&b=00001100按位或a|b=00111101按位异或a^b=00110001按位取反~a=11000011按位左移a<<2=11110000按位右移a>>2=00001111成员运算:判断是成员in判断不是成员notin身份运算:判断两个变量指向相同的对象is指向不同的对象isnot 注:运算优先级 控制语句 条件语句
(1)Ifelse语句a,b=2,
3 If(a>b):print(“a大于b”) else:print(“a小于b”)
(2)Ifelifelse语句a,b=2,3If(a>b): print(a)elif(a==b): print(“equal”)else: print(b) (3)if的嵌套a,b=2,3If(a>=b): if(a>b):print(a) else:print(“equal”) else:print(b)
(3)三元表达式a,b=2,3print(a)ifa>=belseprint(b) 控制语句 循环语句:以求1+2+……+100为例 for循环 while循环 数据容器操作 列表、元组、字典 列表list:[1,2,
5,’2’,’w’] 元组tuple:(1,2,
5,’2’,’w’) 元组dict:{‘age’:28,’height’:180,’weight’:70} 第四部分Numpy Numpy Numpy提供了高效存储和操作密集数据缓存的接口,相比于python原生语法,Numpy的执行效率更高。
Numpy几乎是整个python数据科学工具生态系统的核心,因此,无论你对数据科学的哪个方面感兴趣,学好Numpy都是非常值得的。
Numpy的安装与导入 安装:Anaconda里已经带有或者condainstallnumpy 导入:importnumpyasnp 查看版本:np.__version__ 帮助:tab键自动补全或者np?
numpy数组 从列表中创建数组: np.array([1,2,3,4,5],dtype=‘float32’)一类型的 np.array([range(i,i+3)foriin[2,4,6]]) 注意:numpy中的数组必须是同 格式化创建数组: np.zeros()np.ones()np.full()np.arange()np.linspace()np.random.random()np.random.normal()np.random.randint()np.eye()np.empty() 例: Numpy数组基础
1、数组的属性 每个数组都有ndim(数组的维度),shape(数组的大小),size(数组的总大小),dtype(数组中元素的数据类型),itemsize(数组元素字节大小),nbytes(数组总字节大小) Numpy数组基础
2、数组的索引:获取数组单个元素 和Python列表一样,Numpy一维数组中,可以通过中括号指定索引获取第i个值(从0开始) 在多维数组中,可以用逗号分隔的索引元组获取元素 Numpy数组基础
2、数组的索引:获取数组单个元素 和Python列表一样,Numpy一维数组中,可以通过中括号指定索引获取第i个值(从0开始) 在多维数组中,可以用逗号分隔的索引元组获取元素
也可以用索引方式修改元素值 Numpy数组基础
3、数组的切片:获取子数组 可以用切片符号(:)表示,语法表示为x[start::step],如果不指定默认值start=
0,=维度,
step=1;多维数组切片同样用冒号分隔;也可以用索引和切片配合获取行或列 Numpy数组基础
3、数组的切片:获取子数组 注意数组切片返回的是数组数据的视图,并不是数值数据的副本 Numpy数组基础
4、数组的变形 数组变形最灵活的实现方式是通过reshape()函数来实现 Numpy数组基础
4、数组拼接和分裂 将多个数组合并为一个,或者将一个数组分裂成多个
数组的拼接主要由np.concatenate、np.vstack、np.hstack实现数组的分裂主要由np.split、np.hsplit、np.vsplit实现 Numpy数组基础
4、数组拼接和分裂 将多个数组合并为一个,或者将一个数组分裂成多个数组的拼接主要由np.concatenate、np.vstack、np.hstack实现数组的分裂主要由np.split、np.hsplit、np.vsplit实现 Numpy数组计算:通用函数 为什么要用通用函数? Numpy为很多类型的操作提供了非常方便的、静态类型的、可编程的接口,也被称为向量操作。
Numpy数组计算:通用函数 数组运算函数
1、Numpy通用数组运算函数的使用方式十分自然,
直接用python中原生的算术运算符;
2、绝对值函数abs()
3、三角函数
4、指数与对数
5、专用的通用函数#Gamma函数(广义阶乘), 高斯积分等 Numpy数组计算:通用函数 高级通用函数特性
1、制定输出:所有的通用函数都可以通过out参数来指定计算结果的存放位置
2、聚合:连加、连乘
3、外积:任何通用函数都可以用outer方法获得两个不同输入数组所有元素对的函数运算结果 Numpy数组聚合:最大值、最小值及其他值 Numpy数组计算:广播 广播可以理解为不同大小数组的二进制通用函数(加、减、乘等)的一组规则 np.array([[0],[1],[2]])+np.arange
(3) 规则1:如果两个数组的维
度数不相同,那么小维度数组的形状将会在最左边补
1 规则2:如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1的维度扩展以匹配另外一个数组的形状。
规则3:如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度等于
1,那么会引发异常。
Numpy数组排序 全部排序:插入排序、选择排序、归并排序、快速排序、冒泡排序……Python内置了np.sort() 平均算法复杂度为O(n平方) Numpy数组排序 部分排序:数组的分隔(找到数组中前K小或者前K大的值)np.partition() 第五部分案例分享 Python数据分析案例 案例1:网络爬虫抓取数据(数据收集)案例2:多元线性回归(数据分析)案例3:KNN聚类(数据分析) 兴趣是最好的老师问题是最好的催化剂满足感是最好的动力来源 谢谢!

标签: #javase #java #java #软件 #软件 #鼠标 #caj #cu