《对比Excel,轻松学习Python数据分析》笔记

写在开头:因为我自己接触python也有一段时间了,所以此份笔记是用来查漏补缺以及记录个人认为重要的知识点


1、数据分析的常规流程

常规流程

2、缺失数据

  • 对于缺失比例超过30%的指标,应该选择放弃这个指标,即做删除处理;
  • 对于缺失比例低于30%的指标,一般进行填充处理,即使用0、均值或者众数进行填充。

3、为Jupyter Notebook添加目录

为了便于阅读,可为代码增加一个目录,通过点击下图右侧红框可以建成下图左侧红框的目录,通过点击目录跳转到相应的代码部分。
不过添加目录不是Jupyter Notebook自带的需要自己安装相应的插件,打开命令行,输入以下代码:

conda install -c conda-forge jupyter_contrib_nbextensions

详细安装,请参考为Jupyter Notebook添加目录

添加目录

4、输出与输出格式设置

  • 利用关键词print进行输出
>>>print("Hello World")
Hello World
  • 对输出格式做一定的设置,可以使用str.format()方法进行设定:
    其中str是一个字符串,将format里面的内容填充到str字符串的{}里
    • 一对一填充
    >>>print('我正在学习:{}'.format('pyhton基础知识'))
    我正在学习:python基础知识
    
    • 多对多填充
    >>>print('我正在学习{}中的{}'.format('python','基础知识'))
    我正在学习python中的基础知识
    
    • 浮点数设置
      .2f表示以浮点数展示,且显示小数点后两位,.3f表示显示小数点后3位的浮点数,以此类推。
    >>>print("{}约{:.2f}亿".format('中国单身人数',2))
    中国单身人数约2.00亿
    
    • 百分数设置
      .2%表示以百分比的形式展示,并且展示小数点后两位。
    >>>print("中国男性的比例占总人口的{:.2%}".format(0.519))
    
    浮点数以及百分数设置中“:”必不可少

5、移除字符

一直以为strip()函数只是用来去除字符串首尾的空格的,但它是用来去除字符串的指定字符,默认移除字符串首尾的空格和换行符

>>>"AaA".strip("A")
"a"

6、导入文件路径或者文件名中包含中文

使用pandas.read_csv()读取文件时,当导入文件路径或者文件名中包含中文时,需要加入engine="pyhton"来消除报错,这个错误产生的原因是:当我们调用read_csv()方法时,默认使用C语言作为解析语言,我们只需要将默认值改为python就行,如果文件格式是csv utf-8,则编码格式也要跟着变为utf_8_sig;如果是文件格式是csv,则编码格式则为gbk。

7、导入sql文件

step1:将python与数据库进行连接

import pymsql

eng = pymql.connect(host='localhost',
                       user='user',
                       password='password',
                       db='db',
                       charset='utf-8')
# user:用户名
# password:密码
# db:数据库名
# charset:数据库编码,一般为utf-8

step2:执行sql查询语句

import pandas as pd
df = pd.read_sql(sql,con=eng)
# 参数sql是需要执行的sql语句
# con是step1建立好的连接,即eng

8、异常值的识别与处理

识别方式有以下3种:
  1. 根据业务经验划定不同指标的正常范围,超过正常范围的视为异常值;
  2. 利用四分位数将大于上边缘和小于下边缘的值视为异常值;


    箱型图
  3. 如果数据服从正态分布,可使用3σ原则:如果一个数值与平均值之间超过3倍的标准差(σ),则将其视为异常值。下图为正态分布图,大于u+3σ以及小于u-3σ的值视为异常值。


    正态分布
处理异常值的方法有以下几种:
  • 最常用的方式就是删除
  • 把异常值当作缺失值进行填充
  • 把异常值当作特殊情况,研究异常值出现的原因

9、apply()与applymap()函数

apply()和applymap()都需要与匿名函数lambda结合使用

  • apply()函数主要对DataFrame中的某一列或某一行的元素进行相同的函数操作
df['column_name'].apply(lambda x:x+1)

applymap()函数用于对DataFrame中的每一个元素进行相同的函数操作

df.applymap(lambda x:x+1)

10、将文件导出到多个sheet

使用ExcelWriter()函数

# 声明一个读写对象
# excelpath为文件存放的路径
writer = pd.ExcelWriter(excelpath,engine='xlsxwriter')
# 分别将表df1、df2、df3写入Excel中的sheet1、sheet2、sheet3
# 并命名为表1、表2、表3
df1.to_excel(writer,sheet_name = "表1")
df2.to_excel(writer,sheet_name = "表2")
df3.to_excel(writer,sheet_name = "表3")
# 保存读写的内容
writer.save()

读后感受:不适合新手小白,需要对python有一定的认知后阅读
附上pdf版:
链接:https://pan.baidu.com/s/1_oBc3Khi4CClw7nFDQSB1A
密码:jga1

你可能感兴趣的:(《对比Excel,轻松学习Python数据分析》笔记)