文章目录
前言
为什么要学习python
1.处理大量数据时,python效率高于excel
2.python可以实现自动化
python比VBA更强大
3.python可以用来做算法模型
为什么要对比excel学习python
以下是本书的学习笔记
第1章 数据分析基础
数据分析的作用
1.现状分析
整体运营情况、业务构成、日报月报周报
2.原因分析
一般通过专题分析来分析原因
3.预测分析
在原因分析的基础上,对未来发展趋势做出预测
数据分析的内容
1.总体概览指标——统计绝对数
称为关键性指标
2.对比性指标
常见的有:同比、环比、差
3.集中趋势指标
4.离散程度指标
5.相关性指标
*相关关系与因果关系
数据分析的流程
1.熟悉工具
2.明确目的
3.获取数据
4.熟悉数据
5.处理数据
*异常数据
*重复数据
*缺失数据
*测试数据
6.分析数据——下钻法
7.得出结论
8.验证结论
9.展示结论
第2章 python基础知识
1.python介绍
2.python的下载与安装
本书提供的方式为 安装anaconda,利用jupyter notebook 进行学习
jupyter notebook的markdown功能—目录:
- 打开anaconda prompt
- 输入 pip install jupyter_contrib_nbextensions
- 输入 jupyter contrib nbextension install --user
- 打开jupyter,可以看到多了一个目录栏nbextensions
- 勾选上 table of contents
3.python的基本概念
数:int float
- 变量:
- 标识符:
- 数据类型:数 字符串
- 输出与输出格式设置:str.format()方法
(示例):
print('{}月{}借方余额为:{:.2f}元'.format(6,'固定资产',10000))
运行结果为:6月固定资产借方余额为:10000.00元
4.字符串
字符串的连接 +
字符串的复制 *
字符串的长度 len()
字符串的查找 in not in .find()
字符串的索引 a[]
字符串的分隔 .split()
移除字符 .strip() #默认移除空格和换行符,也可添加指定字符
5.数据结构——列表
列表的复制与合并: * +
向列表中插入新元素:.append(元素) .insert(位置,元素)
获取列表中值出现的次数 .count()
获取列表中值出现的位置 .index()
获取列表中指定位置的值:普通索引与切片索引
删除列表中的值 .pop(位置) .remove(值)
对列表中的值进行排序 .sort() #默认升序排序
6.数据结构——字典
- 将键值以列表的形式存放再元组中,可以用dict()进行转换
- test_dict[“键”]="值“
- keys()用来获取所有键
- values()用来获取所有值
- items()用来获取键值对
7.数据结构——元组
- 元组与列表类似,但元素不能修改
- 获取元组的长度: len(tup)
- 获取元组内的元素:普通索引 切片索引
- 元组与列表相互转换: list(tup)转换为列表; tuple(t_list)转换为元组
- zip()函数:将可迭代对象(列表、元组)作为参数,对应的元素打包成一个个元组,返回由这些元组组成的列表;常与for循环一起搭配使用
list_a1=["小米","小水","小菜","小白"]
list_a2=[101,102,103,104]
tup_b1=(93,98,95,94)
tup_b2=("优","优","优","优")
result=[]
for i in zip(list_a1,list_a2,tup_b1,tup_b2):
result.append(i)
print(result)
[('小米', 101, 93, '优'), ('小水', 102, 98, '优'), ('小菜', 103, 95, '优'), ('小白', 104, 94, '优')]
8.运算符
算术运算符 | Value |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 相除取余 |
** | 10**5 表示10的5次方 |
// | 相除取整 |
比较运算符 | value |
---|---|
== | 等于 |
!= or <> | 不等于(<>有的版本不可用) |
> < >= <= |
逻辑运算符 | value |
---|---|
and | |
or | |
not |
9.循环语句
for循环
可以遍历任何序列的项目
#遍历列表
subject=["excel","sql","python","统计学"]
for sub in subject:
print("我目前正在学习:{}".format(sub))
我目前正在学习:excel
我目前正在学习:sql
我目前正在学习:python
我目前正在学习:统计学。
while循环
当满足条件时,执行某程序
10.条件语句
if语句
else语句
elif语句
11.函数
def 函数名(参数):
语句块
语句块1: print()
语句块2:data=()
return data
普通函数与匿名函数
#普通函数
def addxy(x,y):
result=x+y
return result
addxy(1,2)
#匿名函数
f=lambda x,y:x+y
f(1,2)
12.高级特征
列表生成式
#普通方法生成列表
num=[1,2,3,4,5]
new=[]
for i in num:
new.append(i**2)
new
#列表生成式
num=[1,2,3,4,5]
[i**2 for i in num]
例2 ,两层嵌套
#普通方法生成列表
list1=["A","B","C","D"]
list2=["a","b","c","f"]
new=[]
for m in list1 :
for n in list2:
new.append(m+n)
new
#列表生成式
list1=["A","B","C","D"]
list2=["a","b","c","f"]
[m+n for m in list1 for n in list2]
map 函数
map(function,agrs),表示对序列agrs中的每个值进行function操作,最终得到一个结果序列
a=map(lambda x,y:x+y,[1,2,3],[3,2,1])
#将map的结果存储再列表中
#方法一 for循环遍历
for i in a:
print(i)
#方法二 list方法
a=map(lambda x,y:x+y,[1,2,3],[3,2,1])
b=list(a)
#or
b=list(map(lambda x,y:x+y,[1,2,3],[3,2,1]))
第3章 pandas数据结构
数据分析常用的模块
import pandas as pd
import numpy as np
from matplotlib.pyplot as plt
series数据结构
series是由一组数据与一组与之相关的数据标签(即索引)组成:
- 创建一个series使用pd.series()方法;
- 获取series的索引利用index()方法;
- 获取series的值利用values()方法
import pandas as pd
#传入一个列表
s1=pd.Series(["a","b","c","d","e"])
s1
#传入一个列表 并指定索引
s2=pd.Series(["a","b","c","d","e"],index=[1,2,5,4,3])
s2
#传入一个字典,key即为索引
s3=pd.Series({
"a":1,"b":2,"c":3})
s3
注意python大小写敏感
DataFrame表格型数据结构
DataFrame是由一组数据与一对索引(行 列)
DataFrame
import pandas as pd
#传入一个列表
df1=pd.DataFrame(["a","b","c","d","e"])
df1
#传入一个嵌套列表
df2=pd.DataFrame([["A","a"],["B","b"],["C","c"]])
#传入一个嵌套元组的列表
df3=pd.DataFrame([("A","a"),("B","b"),("C","c")])
#传入 并指定索引
df4=pd.DataFrame([["A","a"],["B","b"],["C","c"]]
,columns=["大写","小写"]
,index=[1,2,3])
#传入一个字典,