Python学习之路 | 数据分析篇【1】

数据分析介绍

基本概念

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

数据分析的流程:
明确目的→准备数据(爬虫、公司本地数据、第三方数据)→数据解析(numpy、pandas)→分析数据 (需要业务理解和业务经验)→获得结论→成果可视化

为什么要学习数据分析:

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

数据分析与数据挖掘异同:
同:都是对数据进行分析、处理等操作,从而得到有价值的信息
异:
1、在应用工具上,数据分析更多的是借助现有的分析工具进行;而数据挖掘一般需要通过编程来实现
2、在行业知识方面,数据分析要求对所从事的行业有比较深的了解,更多的是将数据与业务紧密结合起来;而数据挖掘不需要有太多的行业知识,更专注与技术层面

环境部署:pycharm和jupyter

Jupyter

可以执行端到端的数据科学工作流程的工具,包括数据清理,统计建模,构建和训练极其学习模型,可视化数据
特点:
基于web的在线编辑器
可交互式
jpynb文件分享
支持markdown

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

快捷键使用

  • 运行→Ctrl+Enter

  • ESC→命令模式

  • Enter→编辑模式
    进入命令模式之后的快捷键:

  • A→在活跃单元之上插入一个新单元

  • B→在活跃单元之下插入一个新单元

  • 连续按两次D→可以删除一个单元

  • Z→撤销被删除的单元

  • Y会将当前活跃的单元变成一个代码单元

  • M可以切换回Markdown

  • shift + ↑选中,shift + M合并单元块
    处于编辑模式时快捷键:

  • Ctrl + Home到达单元起始位置

  • Ctrl + S保存进度

  • Ctrl + enter会运行整个单元块

  • Alt + Enter 会运行单元块,再在下面添加一个新单元
    进入命令模式,按住H就可以看到快捷键

在jupyter当中
li = [1,2,3]
li? #自省机制 查看对象的概要信息

运行后出现
Type:		list
String form:[1,2,3]
Length:		3
Docstring:
list() → new empty list
list(iterable) → new list initialized from iterable`s items

英文状态下一个问号?是查看概要,两个问号??可以查看函数或模块源代码

文件操作

打开文件,写入文件,记得带文件后缀

txt文件

在pycharm当中,读取的中文会乱码,在jupyter里正常显示,第二次读取不出来,注意文件指针
注意:

  • r模式,当文件不存在时则报错
  • f.read() → 读取全部
  • f.readline() → 逐行读取
  • f.readlines() → 读取全部,且为列表
  • 读取不可逆
    用write()函数写入时,内容存在缓存当中,当close()关闭文件时,内容才会出现在文件

json

json其实是以字符串的形式呈现,json中的数据必须用双引号包裹,外部用单引号
写入时,先写成字典格式,再转换成json

with open("data.json".mode='r') as f:
	res = f.read()  #'{"age":18}'
	print(type(res)
	res = json.load(f) #json对象转为dict对象
	print(type(res))
	print(res["age"])

CSV文件

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

import csv
with open("demo.csv,mode='w') as datacsv
	datawriter = csv.writer(datacsv) #创建CSV写入对象
	datawriter.writerow(["name","age""class"])
	datawriter.writerow(["bruin","18","ana2"]) #逐行写入
	datawriter.writerows([['jerry','20'.'ana2'],['jerry','20'.'ana2'],['jerry','20'.'ana2']])
with open('demo.csv',mode='r',newline='') as datacsv:
	datareader = csv.reader(datacsv)
	for i in datareader:
		print(i)
		
['jerry','20'.'ana2']
['jerry','20'.'ana2']
['jerry','20'.'ana2']

用pandas操作:

pip install pandas
import pandas as pd
data = pd.read_csv('demo.csv') #读取数据
#会出现表格形式的数据,并且表格前带有索引

#如果不想要索引,可以设置index参数
data.to_csv('demo.csv,index=False)

不要在打开文件的时候操作,会报错

Excel文件

在Python中,有很多第三方模块用来操作Excel,比如说:xlwt,xlrd,openpyxl等
注意:openpyxl只支持2010版本以上的xlsx文件
思路:

  • 创建工作簿
  • 创建工作表
  • 写入数据
  • 保存
    使用openpyxl将数据写入demo.xlsx
pip install openpyxsl
from openpyxl import Workbook
wb = Workbook() #创建工作簿
ws = wb.active #激活第一个工作表
#数据
data =  [
['name','age'.'class'],
['jerry','20'.'ana2'],
['jerry','20'.'ana2'],
['jerry','20'.'ana2']
]
#data里边有多少个元素,就意味着有多少行
for row in data:
	ws.append(row)
wb.save('demo.xlsx')
#打开jpynb文件会报错,说编码错误,但是Excel已经写入了

使用openpyxl读取demo.xlsx数据

from openpyxl import load_workbook
wb = load_woekbook('demo.xlsx')

#单元格的值
tuple(ws.rows)
for row in ws.rows: #循环出每一行
	for cell in row: #循环每一个单元格
		print(cell.value)

使用pandas读取demo.xlsx

import pandas as pd
pd.read_excel('demo.xlsx')
data.to_excel('demo.xlsx',index=False)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值