数据分析师

01 数据思维导论

数据分析师是内容逻辑导向,不是美感导向

数据分析流程图

在这里插入图片描述

  • 数据表达的几种形式及意义:
    分析图表
    在这里插入图片描述
    动态交互
    在这里插入图片描述
    商业智能
    在这里插入图片描述

在这里插入图片描述

  • 南丁格尔玫瑰图
    在这里插入图片描述
    是一种圆形的直方图。南丁格尔自己常昵称这类图为鸡冠花图(coxcomb),并且用以表达军医院季节性的死亡率。

  • 旭日图
    在这里插入图片描述
    旭日图也称为太阳图,是一种圆环镶接图。图中每个级别的数据通过1个圆环表示,离原点越近代表圆环级别越高,最内层的圆表示层次结构的顶级,然后一层一层去看数据的占比情况,越往外,级别越低,且分类越细。其本质是树状关系,因此也被称为极坐标下的矩形树图。它既能像饼图一样表现局部和整体的占比,又能像矩形树图一样表现层级关系。

在这里插入图片描述
一些作图网站和工具:
https://d3js.org/
https://www.informationisbeautifulawards.com/
在这里插入图片描述

用数据改变未来的核心——找到一个正确且落地的数据工作流,并不断迭代,完善它!

  • Python语言
  • 分析工具运用:Numpy / Pandas / GIS
  • 数据表达:matplotlib / geoplotlib / Seaborn / Bokeh / gephi
  • 数据思维:算法 / 项目实战

在这里插入图片描述
在这里插入图片描述

02 Python语言入门

在这里插入图片描述
Python基础教程

【2.1】 变量及数据类型

Python标准数据类型:Numbers数字,String字符串,List列表,Tuple元祖,Dict字典

  • Numbers数字分为:int整型,long长整型,float浮点型,complex复数
  • String字符串由数字、字母、下划线组成的一串字符,用于表示文本的数据类型
    注:一定用英文标点符号,单引号('') 和双引号("")一样,三引号(''' '''或""" """)可以表示多行字符串
  • bool布尔型:True,False,用于做判断True实际值是1,False实际值是0
  • List列表,支持字符,数字,字符串以包含列表(即嵌套),用[]标识,有序对象
  • Tuple元祖,用()标识,不能二次赋值,可以理解成不可变的列表(只读列表),有序对象
  • Dict字典,用{}标识,由索引(key)和它对应的值value组成,无序对象
数据类型转换方法

type()函数,用于查看数据类型

  • int(x)函数:将x转为整数,如果是四舍五入则是round(x)函数
  • float(x)函数:将x转为浮点数
  • str(x)函数:将x转为字符串

变量

什么是变量? —— 方程式“=”左边的,就是变量
1、给变量赋值即创建该变量,并且同时赋予该变量
① 变量名
② 变量类型
等号(=)用来给变量赋值

2、变量命名规则:
① 变量名第一个字符必须是字母(大小写均可)或者下划线(“_”),不能数字开头;
② 变量名不能和常用功能性名字重合,例如print,if,for
③ 不要有空格

运算符

  • 算数运算符
    +-*/
    取模%(返回除法的余数)
    取整除数 //
    幂方**
  • 比较运算符
    等于 == 不等于 !=
    大于 > 小于 <
  • 逻辑运算符
    and:且 or:或 not:非

bool()函数:将值转换为布尔型,其中只有以下情况bool()返回False:0, 0.0, None,‘’, [] , {}

  • 成员运算符
    in:在 not in:不在
    (用于列表、字符串、字典等)

注释

单行注释 #
多行注释 ''' '''

【2.2】序列及其通用操作

序列分类:可变序列list,不可变序列tuple、str
加号 + 是列表连接运算符,星号 * 是重复操作

print(lst1+lst2)  # "+":序列的链接
print(lst1*3,lst2*2)  # "*":序列重复
  • 索引从0开始,eg lst[2]中,下标索引是2,指向lst的第3个值
  • 索引-1代表最后一个值
  • 切片可以理解成列表的值区间,且是一个左闭右开区间,例如lst[2:5]代表的区间是:索引2的值 - 索引4的值
  • 步长:List[i:j:n]代表:索引i - 索引j,以n为步长
  • 序列的基本内置全局函数:
    len( ) 列表元素个数
    max( ),min( ),sum( ) 返回列表的最大值、最小值、求和,这三个函数都只针对数字的list
    .index(obj)方法:从列表中找出某个值第一个匹配项的索引位置
    .count(obj)方法:计算值的出现次数
生成器
  • range()是生成器,指向了一个范围
  • range(5)代表指向了0,1,2,3,4这几个值
  • range(2,5)代表指向了2,3,4这几个值
  • range(0,10,2)代表指向了0,2,4,6,8这几个值,最后的2代表步长

通过list()函数生成列表

lst = list(range(5))
print(lst)
常用函数:
  • list.append() 添加元素
  • 添加多个元素用.extend()方法:用新列表扩展原来的列表,注意和append()方法的区别
  • .remove方法:移除列表中某个值的第一个匹配项
  • del语句:删除list的相应索引值
  • .clear():移除所有值
  • .insert(i,m)方法:在索引i处插入m
  • .copy()方法:复制一个新的列表,指向两个列表
  • .sort()方法:排序,默认升序排序/字母顺序,参数reverse:反向排序,针对数字
    函数sorted():排序并复制
元祖tuple :不可变的“列表”
  • 可以不加括号 tup3 = "a", "b", "c", "d"
  • 元组中只包含一个元素时,需要在元素后面添加逗号 tup4 = (50,)
  • 索引、切片和list一样
  • 元祖不能单独删除内部元素(不可变性),但可以del语句来删除整个元祖
  • tuple()函数:将列表转换为元组
转义字符:\

\n:空行
输出文件路径的方法:

print("C:\\Users\\23937\\Desktop")
print("C:/Users/23937/Desktop")
print(r"C:\Users\23937\Desktop") # r:去转义
字符串常用功能
  • str.replace(old,new,count):修改字符串,count:更换几个
  • str.split(obj):拆分字符串,生成列表,obj:分隔符
  • str.join():连接字符串,对象为列表
  • str.startswith(“str”) 判断是否以“str”开头;str.endswith (“str”) 判断是否以“str”结尾
  • st.upper() 全部大写 st.lower() 全部小写
    st.swapcase() 大小写互换 st.capitalize() 首字母大写
  • st.isnumeric() 如果st 只包含数字则返回 True,否则返回 False
    st.isalpha() 如果st 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
  • st.rstrip() 删除字符末尾的空格
格式化字符:在字符串中插入变量

“%s is 好人” %name
%s 表示我们这里要插入一个变量(字符串),%name代表这里我们插入name

  • i/s/f分别代表插入字符串的源数据类型:整型/字符型/浮点型
  • 输出2位小数:%.2f,此处是四舍五入
    %i 不四舍五入,直接切掉小数部分
  • %+i显示正号,负号根据数字直接显示
    空格和正号只能显示一个
  • 科学计数法 %e %E
  • %g小数位数少的时候自动识别用浮点数,数据复杂的时候自动识别用科学计数法

更强大的格式化方法.format

print("{}{}{}".format('a','b','c'),'\n',
     "{0}{1}{2}{0}".format('a','b','c'),'\n')

{}和{0}的区别:都是占位符,后者有了明确指定

print("{:f}".format(4.123),'\n',
 "{:.2f}".format(4.123),'\n',
 "{:e}".format(4.123),'\n',
 "{:.0f}".format(99.9),'\n',
 "{:%}".format(4.123),'\n',
 "{:d}".format(10))

4.123000
4.12
4.123000e+00
100
412.300000%
10

【2.3】字典映射

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中

  • 键必须是唯一的,但值则不必
  • 键值对,一定共同出现,不能只有一个
  • 不允许同一个键出现两次:创建时如果同一个键被赋值两次,后一个值会被记住
  • key必须是字符串,value则可以是任意对象:数值,字符串,序列,字典
  • 序列有顺序,是一个无序集合
  • .clear() 清空词典所有条目
  • del dic 删除词典
  • 添加/修改元素:dic[‘键’] = ‘值’
  • dict()由序列生成一个字典,嵌套序列,可以是list或者tuple
  • dic1 = dict.fromkeys(keys, 统一值) keys为一个列表,直接生成一个字典
  • dict1.update(dict2)方法:更新/合并一个字典,把第二个字典合并到第一个字典,改变了第一个字典 (赋值时会同时更新)
  • 通过.copy()方法,复制一个新的字典 (不会同时更新)
  • len():查看字典元素个数
  • in / not in :判断是否包含,这里的判断对象是key
  • .get(key)方法:直接查看key的value,如果没有相应key则返回None,添加print参数可以多返回一个值
  • .keys()方法:输出字典所有key,注意这里的输出内容格式是视图,可以用list()得到key的列表,类似range()
  • .values()方法:输出字典所有values,原理同.keys()方法
  • .items()方法:输出字典所有items(元素,即键值对) 可结合for函数遍历
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值