数据分析 知识体系 Python篇
numpy
基本属性
- n维数组;数值运算
- 创建数组: np.array(list,dtype=)
- 数组维度:array.ndim
- 数组形状:array.shape
- 数组元素个数:array.size
创建数组
- 普通创建:np.array(list)
- 全0数组:np.zeros((row,col))
- 全1数组:np.ones((row,col))
- 有序数列:np.arange(num); np.arange(start,end,by)
- 改变形状:array.reshape((row,col))
- 生成线段:np.linspace(start,end,num)
基础运算
a = np.array([1,2,3,4]).reshape((2,2))b = np.arange(4).reshape((2,2))
- np.fun(array) 多数情况等于 arrary.fun()
- 加减乘除等运算都是作用于元素: a*b;sin(a);a<3:返回布尔值
- 矩阵相乘:np.dot(a,b); 有第一点,还可以表示为a.dot(b)
- 矩阵转置:np.transpose(a);a.T
- 随机矩阵(元素为0-1的随机数):np.random.rand(row,col)
- 随机矩阵(元素服从标准正态分布):np.random.randn(row,col)
- 数组求和:np.sum(a)
- 数组求最值:np.max(a);np.min(a)
- 行/列操作:np.sum(a,axis=0/1) 0表示跨行(垂直);1表示跨列(水平)
- 最值索引:np.argmin(a);np.argmax(a)
- 平均:np.mean(a)
- 中位数:np.median(a)
- 累加:np.cumsum(a)
- 累差:np.diff(a)
- 逐行排序:np.sort(a)
- 截取矩阵:np.clip(a,min,max) 所有小于min的数=min,大于max的数=max
索引切片
- i行:a[i]
- j列:a[:,j]
- i行j列:a[i][j];a[i,j]
- i行n-m列:a[i, n:m]
- 把数组展为1维数组:a.flatten()
合并
- 垂直合并: np.vstack((a,b))
- 水平合并:np.hstack((a,b))
- 多个数组合并:np.concatenate((a,b,c,d),axis=0/1)
分割
- 等量分割:np.split(a,n,axis=) (n表示分割成几块)
- 不等量分割:np.array_split(a,n,axis=)
- 竖直分割:np.vsplit(a,n)
- 水平分割:np.hsplit(a,n)
浅拷贝和深拷贝
- 浅拷贝:b复制a,修改a后b跟着改变;增加指针指向已存在的内存地址。b = a
- 深拷贝:b复制a,修改a后b不跟着改变;增加指针且申请了一个新的内存地址。b = a.copy()
pandas
基本属性
- 数据框;数据处理;基于numpy
- 创建df:pd.DataFrame(data,index,columns)
- df类型:df.dtypes
- df 行名/列名/值:df.index/df.columns/df.values
- df描述:df.describe()
- df转置:df.T
- 按索引排序:df.sort_index(axis=0/1,ascending=bool)
- 按值排序:df.sort_values(by=col_name,ascending)
选择数据
df = pd.DataFrame(data,columns=['A','B','C'],index=[1,2,3])
- 选择某列:df[‘A’];df.A
- 选择某行:df[i:i+1]
- 按标签选择:df.loc[ [1,2],[‘A’,'B’] ]
- 按位置选择:df.iloc[i,j];df.iloc[i:j,k:l];df.iloc[[1,2,4],1:4]
- 混合选择:df.ix[]
- 条件选择:df[df.A<3]
处理缺失值
- 丢弃:df.dropna(axis,how=‘any’/‘all’)
- 填充:df.fillna(value=0)
- 检查:df.isna().sum()
导入/导出数据
- 导入csv:pd.read_csv(’…csv’)
- 导出数据:df.to_csv(‘文件名’)
concat合并
concat([df1,df2,df3],axis,ignore_index,join,join_axes)
- axis: 0纵向/1横向
- ignore_index: True表示对旧index整合成新的index
- join:inner取交集;outer取并集
- join_axes:选择对齐的索引
df1.append([df2,df3])
- 纵向合并,将df2,df3添加到df1下面
merge合并
pd.merge(left,right,on=[‘key1’,‘key2’],how=‘inner’/‘outer’/‘left’/‘right’,indicator,suffixes)
- on:以某个列名作为连接键
- how:连接方式
- indicator:取值为True时,显示merge方式
- suffixes=[左表后缀名,右表后缀名]:为列名增添后缀
pd.merge(left,right,left_index=True,right_index=True,how=’’)
- left_index/right_index:取值为True时,按行名连接
matplotlib.pyplot
Series
data = pd.Series(...)
data.plot() / plt.plot(data)
plt.show()
数据分析 知识体系 Python篇相关推荐
- 数据分析知识体系与校招时间线
一.数据分析知识体系整理 1.统计学(数据分析核心理论基础之一) 具体知识点: 统计学两大基础定理:大数定理,中心极限定理 常见分布的图像,性质与应用(ex. 正态分布,泊松分布-) 假设检验 &am ...
- 聊聊后端程序员的知识体系-第一篇
聊聊后端程序员的知识体系-第一篇 原文链接:https://www.fpthinker.com/backend_knowledge_architecture/knowledge.htmll 亲爱的读者 ...
- 张俊红数据分析知识体系(持续更新中......)
本文从用户思维.数据分析思维.数据分析技能.学习能力四个方面进行自我总结. 01 | 用户思维 数据分析终究是围绕用户的一系列行为进行展开的,所以做数据分析第一门需要掌握的知识是懂用户. 首先得知 ...
- python数据分析知识体系_数据分析知识体系
[数据获取] 一.获取原始数据 1.从数据库 / 数据仓库中获取(数据库 + 数据仓库 + SQL提数) 2.爬虫爬取(R语言爬虫 + Python爬虫) 3.手工整理(问卷数据录入.数据表制作等) ...
- Python知识体系-Python工具大全
1.环境管理:管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. ...
- 数据分析师 知识体系 业务篇
目录 分析框架 事件分析 漏斗分析 AARRR模型 获取用户 激发活跃 提高留存 增加收入 病毒传播 三大增长引擎 1.粘着式增长引擎 2. 付费式增长引擎 3.爆发式增长引擎 指标异常分析 问题定位 ...
- 包邮再送500份!我们自制了一张【数据分析知识鼠标垫】,抓紧领取
之前,我们自制了一款<数据分析全栈知识鼠标垫>,做了500张送给粉丝,很快就抢没了,获得了不错的反馈,来看看大家的晒图: 感谢粉丝们的口口相传,这张鼠标垫现在也算小有名气了,现在还经常有读 ...
- python知识体系_python学习知识体系梳理
工作后,先后几份工作都是跟数据处理相关的,但是没有什么技术含量,有感于手上没有一门精通的技术实在很限制个人的发展,所以想选择一门编程语言来增强自己的本领,提升自己的价值.之所以选择Python,是因为 ...
- [知识图谱实战篇] 三.Python提取JSON数据、HTML+D3构建基本可视化布局
前面作者讲解了很多知识图谱原理知识,包括知识图谱相关技术.Neo4j绘制关系图谱等,但仍缺少一个系统全面的实例.为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者深入学习了张宏 ...
最新文章
- 回溯法排序树怎么画_kd tree(k-dimensional树的简称)
- 职教云python题和答案_智慧职教云课堂Python程序设计题目答案
- Bootstrap -- 插件: 按钮状态、折叠样式、轮播样式
- 设置Dialog全屏显示(转)
- dedecms ---m站功能基础详解
- 第三部分 Calendar函数接口
- 拦截Response.Redirect的跳转并转换为Js的跳转
- 数据库问题6-將系統資料表對應至系統檢視
- autocad不能画图_学了这50条CAD技巧,画图速度提10倍!
- 计算机人文英语1形考答案,国开《人文英语1》形考任务(单元自测1至8)试题及答案...
- 归并算法(java的简单实现)
- 论文选题、标题、摘要怎么写
- [转]中国青岛发布新一代CPU桥片“星光青桥一号”
- Java程序控制系统输入法
- js之css样式特效 ---- js篇
- 2021华为杯D题详细讲解:抗乳腺癌候选药物的优化建模
- OpenLayers标记地图点及点击地图点显示自定义弹出框
- 操作系统中多生产者多消费者问题中,关于生产者或消费者中的两个P操作是否可以互换问题
- Ubuntu安装钉钉超简单步骤
- 用数字和事实说话,让你直观感受:华为究竟有多强!