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. 数据分析知识体系与校招时间线

    一.数据分析知识体系整理 1.统计学(数据分析核心理论基础之一) 具体知识点: 统计学两大基础定理:大数定理,中心极限定理 常见分布的图像,性质与应用(ex. 正态分布,泊松分布-) 假设检验 &am ...

  2. 聊聊后端程序员的知识体系-第一篇

    聊聊后端程序员的知识体系-第一篇 原文链接:https://www.fpthinker.com/backend_knowledge_architecture/knowledge.htmll 亲爱的读者 ...

  3. 张俊红数据分析知识体系(持续更新中......)

    本文从用户思维.数据分析思维.数据分析技能.学习能力四个方面进行自我总结. 01  |  用户思维 数据分析终究是围绕用户的一系列行为进行展开的,所以做数据分析第一门需要掌握的知识是懂用户. 首先得知 ...

  4. python数据分析知识体系_数据分析知识体系

    [数据获取] 一.获取原始数据 1.从数据库 / 数据仓库中获取(数据库 + 数据仓库 + SQL提数) 2.爬虫爬取(R语言爬虫 + Python爬虫) 3.手工整理(问卷数据录入.数据表制作等) ...

  5. Python知识体系-Python工具大全

    1.环境管理:管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. ...

  6. 数据分析师 知识体系 业务篇

    目录 分析框架 事件分析 漏斗分析 AARRR模型 获取用户 激发活跃 提高留存 增加收入 病毒传播 三大增长引擎 1.粘着式增长引擎 2. 付费式增长引擎 3.爆发式增长引擎 指标异常分析 问题定位 ...

  7. 包邮再送500份!我们自制了一张【数据分析知识鼠标垫】,抓紧领取

    之前,我们自制了一款<数据分析全栈知识鼠标垫>,做了500张送给粉丝,很快就抢没了,获得了不错的反馈,来看看大家的晒图: 感谢粉丝们的口口相传,这张鼠标垫现在也算小有名气了,现在还经常有读 ...

  8. python知识体系_python学习知识体系梳理

    工作后,先后几份工作都是跟数据处理相关的,但是没有什么技术含量,有感于手上没有一门精通的技术实在很限制个人的发展,所以想选择一门编程语言来增强自己的本领,提升自己的价值.之所以选择Python,是因为 ...

  9. [知识图谱实战篇] 三.Python提取JSON数据、HTML+D3构建基本可视化布局

    前面作者讲解了很多知识图谱原理知识,包括知识图谱相关技术.Neo4j绘制关系图谱等,但仍缺少一个系统全面的实例.为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者深入学习了张宏 ...

最新文章

  1. 回溯法排序树怎么画_kd tree(k-dimensional树的简称)
  2. 职教云python题和答案_智慧职教云课堂Python程序设计题目答案
  3. Bootstrap -- 插件: 按钮状态、折叠样式、轮播样式
  4. 设置Dialog全屏显示(转)
  5. dedecms ---m站功能基础详解
  6. 第三部分 Calendar函数接口
  7. 拦截Response.Redirect的跳转并转换为Js的跳转
  8. 数据库问题6-將系統資料表對應至系統檢視
  9. autocad不能画图_学了这50条CAD技巧,画图速度提10倍!
  10. 计算机人文英语1形考答案,国开《人文英语1》形考任务(单元自测1至8)试题及答案...
  11. 归并算法(java的简单实现)
  12. 论文选题、标题、摘要怎么写
  13. [转]中国青岛发布新一代CPU桥片“星光青桥一号”
  14. Java程序控制系统输入法
  15. js之css样式特效 ---- js篇
  16. 2021华为杯D题详细讲解:抗乳腺癌候选药物的优化建模
  17. OpenLayers标记地图点及点击地图点显示自定义弹出框
  18. 操作系统中多生产者多消费者问题中,关于生产者或消费者中的两个P操作是否可以互换问题
  19. Ubuntu安装钉钉超简单步骤
  20. 用数字和事实说话,让你直观感受:华为究竟有多强!

热门文章

  1. 我精心整理的一些大牌男装正品店
  2. 解决python利用openpyxl读取excel中公式结果值的问题
  3. android新浪微博授权,新浪微博授权认证过程 - Android、iOS开发 - OSCHINA - 中文开源技术交流社区...
  4. css svg做动图,用svg动态绘制图形
  5. nand flash基础时序
  6. Ubuntu换源操作+vim的下载
  7. Hadamard矩阵和Kronecker积
  8. c# 检测中英输入法_用C#控制当前输入法
  9. Mendix基于腾讯云部署最佳实践
  10. C语言 会员管理系统