1 数据分析介绍

学习内容

在这里插入图片描述

发展方向

在这里插入图片描述

数据分析基本概念

  • 用适当的统计分析方法对收集来的大量数据进行分析
  • 提取有用信息和形成结论
  • 对数据加以详细研究和概括总结的过程

数据分析的流程

在这里插入图片描述

为什么要学习数据分析

  • 岗位有需求
  • 是机器学习的基础
  • 数据科学的基础

数据分析工具

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

注意

数据挖掘与数据分析的相似之处:

  • 数据挖掘和数据分析都是对数据进行分析、处理等操作,从而得到有价值的知识

数据分析与数据挖掘的区别:

  • 在应用工具上,数据分析更多的是借助现有的分析工具进行;而数据挖掘一般需要通过编程来实现。
  • 在行业知识方面,数据分析要求对所从事的行业有比较深的了解,更多的是将数据与业务紧密结合起来;而数据挖掘不需要有太多的行业知识,更专注与技术层面。

环境部署

  • Pycharm
  • jupyter

Jupyter介绍

Jupyter Notebook 是什么?

Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档。

其提供了一个环境,你无需离开这个环境,就可以在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。因此,这是一款可执行端到端的数据科学工作流程的便捷工具,其中包括数据清理、统计建模、构建和训练机器学习模型、可视化数据等等。

Jupyter Notebook特点

  • 基于web的在线编辑器
  • 可交互式
  • .ipynb文件分享
  • 支持markdown

Jupyter安装

如何安装Jupyter Notebook?

  1. 首先需要在你的机器上安装 Python。(建议python3.6-3.7都可)
  2. 安装命令:pip install jupyter

Jupyter使用

如何运行 Jupyter Notebook?

  1. 首先需要建立单独项目文件夹(建议名称不要包含中文)
  2. windows+R输入cmd进入windows终端
  3. 切换到该文件夹路径下
  4. 打开命令:jupyter notebook

如图所示:
在这里插入图片描述

基础使用Jupyter Notebook

如图所示:

在这里插入图片描述
打开笔记本后,你会看到顶部有三个选项卡:Files、Running 和 Clusters。其中,Files 基本上就是列出所有文件,Running 是展示你当前打开的终端和笔记本,Clusters 是由 IPython 并行提供的

基础使用 Jupyter Notebook

如图所示:
在这里插入图片描述
要打开一个新的 Jupyter 笔记本,点击页面右侧的「New」选项。

  • Python3 --> 创建python file
  • Text File --> 文本编辑器
  • Folder --> 创建文件夹
  • Teminal --> 终端(类似于Windows上的cmd)

创建python file

如图所示:
在这里插入图片描述
在代码上面的菜单中,你有一些操作各个单元的选项:添加、编辑、剪切、向上和向下移动单元、运行单元内的代码、停止代码、保存工作以及重启 kernel。
如图所示:

在这里插入图片描述

  • Code --> 代码
  • Markdown --> 标记(在运行一段代码后添加你的结论、添加注释等。)
  • Raw NBConvert --> 原生NBConvert(将你的笔记本转换成另一种格式(比如 HTML)的命令行工具。)
  • Heading --> 标题(也是Markdown语法)

快捷键使用

  • 运行 --> Ctrl+Enter
  • Esc --> 命令模式
  • Enter --> 编辑模式

进入命令模式之后快捷键:
- A --> 在活跃单元之上插入一个新单元
- B --> 在活跃单元之下插入一个新单元
- 连续按两次 D --> 可以删除一个单元
- Z --> 撤销被删除的单元
- Y 会将当前活跃的单元变成一个代码单元
- 按住 Shift +上或下箭头可选择多个单元。在多选模式时,按住 Shift + M 可合并你的选择。

处于编辑模式时快捷键:
- Ctrl + Home 到达单元起始位置
- Ctrl + S 保存进度
- Ctrl + Enter 会运行整个单元块
- Alt + Enter 不止会运行你的单元块,还会在下面添加一个新单元

实际上,大家不需要去背这些快捷键。可以进入命令模式,摁住H就可以看到快捷键了。
如图所示:
在这里插入图片描述

文件读写操作

文件操作介绍

在实际操作中,通常采集本地数据来进行数据分析,那么就需要学习Python去对本地文档进行读取与写入等操作。比如:txt文件,json文件,csv文件,excel文件等。

本地文件操作步骤

  • 打开文件
  • 操作文件
  • 关闭文件

python操作txt文件

open(file, mode=‘r’,encoding=None) --> 打开文件

  • file --> 文件路径
  • mode --> 操作文件模式
    • r --> 只读模式
    • w --> 写入
    • a --> 追加
  • encoding --> 指定文件编码
    • utf-8 --> 当文件中文乱码时,则指定编码为utf-8解决。

练习

读取Students.txt中的数据

f = open('Students.txt','r')

f.readlines()	  

f.close()		  

注意

  • r模式,当文件不存在时则报错
  • f.read() --> 读取全部
  • f.readline() -->逐行读取
  • f.readlines() -->读取全部,且为列表
  • 读取不可逆

练习

创建test01.txt文件,并且写入内容

f = open('demo.txt','w')

f.write("Logic Education")  

f.close()

注意

  • w模式,当文件不存在时创建文件
  • 再次写入为覆盖
  • 关闭之后需重新打开

with open() --> 上下文管理器

with关键字用于Python的上下文管理器机制。为了防止诸如open这一类文件打开方法在操作过程出现异常或错误,或者最后忘了执行close方法,文件非正常关闭等可能导致文件泄露、破坏的问题 。Python提供了with这个上下文管理器机制,保证文件会被正常关闭。在它的管理下,不需要再写close语句。其余操作都同open()一致。

练习

with open('Students.txt','r') as f:
    print(f.readlines())

Python操作json文件

JSON是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能。

由于JSON与python中的字典格式非常像。所以python中的json模块也相当于是用来使json与字典做转换。但是要注意的是,json中的数据必须使用双引号包裹

json格式:’{“key”:“value”}’

练习

将{“age”:18}写入data.json文件中

import json
data = {"age":18}        

with open('data.json','w') as f:
    json.dump(data,f)     

练习

读取data.json文件中的数据并且,获取到18这个值。

import json
with open('data.json','r') as f:
    j_data = json.load(f) 
    print(j_data['age'])

Python操作csv文件

CSV即Comma Separate Values,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。经常用来作为不同程序之间的数据交互的格式。

练习

创建demo02.csv文件,并写入数据。

import csv   # 内置模块
with open("demo02.csv","w",encoding="utf8",newline="") as datacsv:
    datawriter = csv.writer(datacsv)            
    
    datawriter.writerow(["name","age","gender"])
    datawriter.writerow(["amy","18","女"])   

练习

读取demo02.csv文件数据。

import csv
with open("demo02.csv","r",encoding="utf8",newline='') as datacsv:
    datareader = csv.reader(datacsv)      

    for i in datareader:
        print(i)

与此同时,除了python内置的csv模块可以对csv文件进行读写操作之外,pandas操作起来显得更加简洁。

import pandas as pd
# 读取
data = pd.read_csv("demo02.csv") 
# print(data)           

# 写入
data_head = data.head()          
print(data_head)

data_save = data.to_csv("demo02.csv",index = False) 

Python操作excel文件

在Python中,有很多第三方模块用来操作excel,比如说:xlwt,xlrd,openpyxl等。
注意

  • openpyxl只支持2010版本以上的xlsx文件

练习

使用openpyxl将数据写入demo03.xlsx
思路

  • 创建工作簿
  • 创建工作表
  • 写入数据
  • 保存
from openpyxl import Workbook
wb = Workbook()     
ws = wb.active     

data = [
    ["name","age","gender"],
    ["amy","18","female"],
    ["daisy","19","female"]
]

for row in data:
    ws.append(row)
    
wb.save("demo03.xlsx")

练习

使用openpyxl读取demo03.xlsx数据

from openpyxl import load_workbook
wb = load_workbook("demo03.xlsx")

ws = wb.active                    

for row in ws.rows:             
    for cell in row:            
        print(cell.value)         

同理,pandas也提供了更加简便的实现方法,来操作excel文件。

import pandas as pd

# 读取
data = pd.read_excel("demo03.xlsx",sheet_name=0)
data             

# 写入
data.to_excel("demo04.xlsx",index=False)

常见问题集

报错1:安装ReadTimeOut

安装报错:ReadTimeOut -->读取超时错误
在这里插入图片描述
解决1:
换源安装,将国外镜像换成国内镜像,加快安装速度。

  • 国内镜像:
    • 阿里云 http://mirrors.aliyun.com/pypi/simple/
    • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    • 豆瓣(douban) http://pypi.douban.com/simple/
    • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
    • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
  • 修改源的方法
    • pip install packagename -i link
    • 举例如下:pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

报错2:jupyter 不是内部命令

已安装 Jupyter,但是报错:jupyter 不是内部命令。
在这里插入图片描述
解决2:
首先,大家需要确认你的运行环境与安装环境是否一致。

比如:

  • 在Python3.7版本安装
  • 运行却在默认的3.6下安装,则会报错

或者说:

  • 你的 Python 是依赖于 conda 环境的
  • 配置 anaconda 至系统环境

如果运行环境与安装环境一致,但仍然报该错误。则需要考虑:系统中有多个python环境。所以直接通过 jupyter notebook 并不能运行。而是需要通过 python -m notebook 来运行。

参考文档:
https://stackoverflow.com/questions/57154341/what-does-the-term-python-m-mean

问题3:运行 jupyter 的方式

运行 jupyter 的方式:

  • jupyter notebook
  • jupyter-notebook
    注意:不要使用 jupyter notebooks 去运行,没有此命令。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值