对比excel,轻松学习python数据分析(读书笔记1-3章)

对比excel,轻松学习python数据分析(读书笔记1-3章),第1张

对比excel,轻松学习python数据分析(读书笔记1-3章) 第一章 入门篇 1.数据分析概念

利用合适的工具,在统计学理论的支撑下,对数据进行一定程度的预处理,结合具体业务分析数据,帮助相关业务部门监控、定位、分析、解决问题,从而帮助企业高效决策,提高经营效率,发现业务机会点。

2.三大作用:
现状分析: 运营情况、业务构成,日常报表
原因分析: 通过专题分析完成,根据企业运营情况选择针对某一现状进行原因分析。
预测分析: 通过专题分析完成,通常在制订企业季度、年度计划时进行。
3.数据分析指标

● 描述数据整体情况:

a)总体概览指标:

又称统计绝对数,是反映某一数据指标的整体规模大小,总量多少的指标。

b)对比性指标:

说明现象之间数量对比关系的指标

    同比( 相邻时间段内某一共同时间点上指标的对比:2018年的第26周和2017年的第26周之间的对比就是同比环比(相邻时间段内指标的对比: 2018年的第26周和第25周的对比差差的绝对值
c)集中趋势指标
    普通平均值加权平均数中位数众数( 如果数据可以分为多组,则为每组找出一个众数。注意,众数只有在总体内单位足够多时才有意义。
d)离散程度指标

表示数据分布的离散程度,若指标较大,说明数据波动大。

    全距(用数据集中最大数减去数据集中最小数四分位数(极差容易受到异常值影响)方差(越小说明数值越稳定)标准差(表示数值与均值距离的平均值)
e)相关性指标

相关系数r(范围[-1,1], r的绝对值越大,相关性越强)

f)相关关系与因果关系 4.分析流程

● 明确目的:
要明确数据分析的目的,即希望通过数据分析得出什么。
例如,希望通过数据分析发现流失用户都有哪些特征,希望通过数据分析找到销量上涨的原因。

● 获取数据:
需要什么指标
需要什么时间段的数据
这些数据都存在哪个数据库或哪个表中
怎么提取,是自己写Sql还是可以直接从ERP系统中下载

● 处理数据:
常见的特殊数据主要有以下几种。

异常数据。结合具体业务处理,删除或者作为重点研究对象
重复数据:删除
缺失数据。如果缺失比例高于30%,删除。低于30%,填充处理,即用0、均值或者众数等进行填充。
测试数据:删除

● 分析数据:
下钻法
例如当我们发现某一天的销量突然上涨/下滑时,我们会去看是哪个地区的销量上涨/下滑,进而再看哪个品类、哪个产品的销量出现上涨/下滑,层层下钻,最后找到问题产生的真正原因。

● 验证结论:
通过数据分析出来的结论也不一定成立,所以我们要把数据分析和实际业务相联系,去验证结论是否正确。例如,做新媒体数据分析,你通过分析发现情感类文章的点赞量、转发量更高,这只是你的分析结论,但是这个结论正确吗?你可以再写几篇情感类文章验证一下。

第二章 python基础 1. jupyter目录设置和使用

● 创建带有目录的jupyter文件方式
Step1:将代码框格式选择为Heading。
Step2:直接在代码框输入不同级别的标题,1个#表示一级标题,2个#表示二级标题,3个#表示三级标题(注意,#与标题文字之间是有空格的),标题级别随着#数量的增加依次递减。

2.输出格式设置

● str.format( )
浮点数、百分数、文字

# str.format()
print('{}这本书定价{:.2f},中国有{:.2%}正在学习这本书'.format('《数据分析》',12.3456,0.50369))
3.字符串

● 链接 复制

# 字符串
# 字符串连接、复制、获取长度
print('王' + '俊凯')
print('新年快乐'*3)
print(len('新年快乐'))

● 查找
当用find查找某一字符是否存在于某个字符串中时,如果存在则返回该字符的具体位置,如果不存在则返回-1

print('快乐' in '新年快乐')
print('新年' not in '新年快乐')
print('快乐'.find('新年快乐'))

● 普通索引
● 切片索引

str = 'H,a,p,p,y'
print(str[1])
print(str[1:3])

● 分隔

# 字符串分隔 split()函数
# 分隔后的值以列表形式返回
new_str = str.split(",")
print(new_str)

● 移除

# strip()函数
# 用来移除字符串首尾的指定字符
# 默认移除字符串首尾的空格或换行符
# 移除指定字符
newstr = '新年快乐'.strip('乐')
print(newstr)
4.数据结构 4.1列表

可变的数据类型

# 列表
lis_1 = ['b',2]

# 合并
lis_2 = ['a',1]
lis_1.extend(lis_2)
print(lis_1)

● 列表新增

# 新增
lis_1.append('e')
print(lis_1)
lis_1.insert(0,'r')
print(lis_1)
# 获取出现次数
print(lis_1.count('a'))
# 获取值出现的位置
print(lis_1.index('a'))

● 索引

# 索引
# 普通索引
print(lis_1[0])
# 切片索引,左闭右开
print(lis_1[:2])
print(lis_1)

● 删除

# 删除
# pop删除指定位置的值
# remove删除指定元素
lis_1.pop(1)
print(lis_1)
lis_1.remove(2)
print(lis_1)

● 排序

# 排序
lis_1.sort()
print(lis_1)
4.2字典 4.3元组

元组的元素不能修改,
获取长度:len()
索引:普通索引、切片索引
与列表相互转换 list() tuple()
zip() 将可迭代的对象(例如列表,元组)作为参数,打包成一个个元组,返回由这些元组组成的列表,通常与for循环搭配使用

tup_1 = (1,2,3)
tup_2 = (4,5,6)
for ii in zip(tup_1,tup_2):
    print(ii)

list_1 = [1,2,3]
list_2 = [4,5,6]
for ii in zip(list_1,list_2):
    print(ii)
5.运算符

算术运算符、比较运算符、逻辑运算符

6.循环语句

for循环、while循环

7.条件语句

if else elif

8.函数

普通函数
匿名函数
lambda arg1,arg2,… : expression

f = lambda x,y:x+y
f(2,3)
9.高级特性

9.1 列表生成式

# 列表生成式 不必再写多个for循环嵌套
[i*2 for i in list_2]
[i+j for i in list_1 for j in list_2]

9.2 map函数

# map函数
# map(function,agrs)
list(map(lambda x,y:x*y,[1,2,3],[1,2,3]))
第三章 1 series

类似于一维数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。
直接传入一个列表会使用默认索引,不指定数据标签,那么Series会默认使用从0开始的数做数据标签,也可以通过设置index参数来自定义索引。

获取索引 index
获取值 values

2 dataframe

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存