1.课程概要
(1)基础概念
(2)matplotlib 画图
(3)numpy处理数值型数据
(4)pandas处理字符串 字典 列表
基础概念
为什么学习数据分析?
a.和爬虫,机器学习,神经网络结合岗位需求
b. python数据科学的基础
c.机器学习课程的基础
什么是数据分析?
a.对大量数据进行分析,帮助决策
数据分析流程
提出问题→准备数据→分析数据→结论→成果可视化
环境安装
(1)如何选择环境?不是根据项目类型,是根据项目需要。每一个项目创建
(2) 一个环境 conda: data science package & enviroment
manager(集合了很多环境,几乎可以安装所有的模块) 切换环境: windows: activate python 3; linux/macos: source activate python 3
(3) alias 命令 将一个长命令起一个小名
例如:ll→ll-alh(以列表形式显示 -a: (all)显示全部文件)
工具jupyter notebook-一款编程文档笔记展示软件
在anacoda中启动命令:jupyter notebook即可自动打开,如果无法打开,可以复制链接到浏览器
pwd可以查看当前anaconda所在目录,ls看现在文件夹下的文件
jupyter notebook基本操作
new→folder(新建文件夹)→勾选前面方框→rename
new-python 3→input→执行→
更直观,主要是实现数据可视化
from matplotlib import pyplot as plt #从matplotlib中导入pyplot模块并用plt,一方面简写另一方面可以避免重复引用
x=range(2,28,2)
y=[15,13,14,5,17,20,25,26,26,27,22,18,15]
plt.plot(x,y) #将x和y一一对应
plt.show()#展示图形
from matplotlib import pyplot as plt #从matplotlib中导入pyplot模块并用plt,一方面简写另一方面可以避免重复引用
x=range(2,28,2)
y=[15,13,14,5,17,20,25,26,26,27,22,18,15]
#设置图片大小
plt.Figure(figsize=(20,8),dpi=80) #类属性是figsize不是figuresize
#设置x轴
_xtick_labels=[i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3]) #列表取步长操作
plt.yticks(range(min(y),max(y)+1))
plt.plot(x,y) #将x和y一一对应
plt.show()#展示图形
plt.savefig("./sig_size.png") #svg格式不会失真
from matplotlib import pyplot as plt, font_manager
import random
x=range(0,120)
y=[random.randint(20,35) for i in range (120)] #参数1、参数2必须是整数 函数返回参数1和参数2之间的任意整数, 闭区间
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#设置字体,这种方法不好成功,因为不一定有字体
'''import matplotlib
font = {'family' : 'Microsoft Yahei',
'weight' : 'bold',
'size' : 12}
matplotlib.rc('font', **font)'''
#设置字体方法二,把中文字体,给my_font,然后后面用plt.xticks(fontproperties=my_font)
import matplotlib
#查找matplotlib字体库位置
print(matplotlib.matplotlib_fname())
my_font=font_manager.FontProperties(fname=r"C:\Windows\Fonts\simkai.ttf")#windows系统字体在c盘window→fonts,地址是字符串记得加双引号,地址前加r
#调整x轴刻度
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i) for i in range(60)] #在列表后增加
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=90,fontproperties=my_font) #xtick也是一个对应函数,把x刻度和标签对应起来。
plt.show()
(pythonconda) PS D:\python\anaconda> conda activate pythonconda03
(pythonconda03) PS D:\python\anaconda> pip --version
pip 20.2.3 from D:\python\anaconda\envs\lib\site-packages\pip (python 3.8)
(6) pycharm如何切换到anaconda环境呢?
参加https://jingyan.baidu.com/article/93f9803fdd922ba0e46f5584.html
绘制网格
(1)命令 plt.grid()
(2)调整网格透明度plt.grid(alpha=0.4)
(3) 设置y和x的标签 xlabel, ylabel
绘制第二个y
(1)赋予y1,y2, 分别plt.plot(x,y1),plt.plot(x,y2)
(2) 给不同的曲线标签,第一步plt(x,y1,label="", color=“orange”,linestyle=",调整每一个线的标签、颜色、线条类型;在后面plt.legend(prop=my_font)设置图例位置、字体,只有legend是用prop接收,其他的都是用font_manage. FontProperty;标签位置是legend的loc性质;更多颜色在RGB与16进制
(3)图标题、x轴、y轴标题分别是:plt.title(label=“不同年龄女朋友数量”),plt.xlabel(“年龄”),plt.ylabel(“女朋友数量”)
(4)保存 plt.sagefig
其他图形在matplotlib的官方文档,example中找实例,找代码,改变关键的x和y
关键要明白不同图的应用长江
折线图:以折线的走势表示统计数量的增减变化的统计图,能够显示数据的变化趋势
直方图:绘制连续性数据,展示一组或多组数据的分布情况;
条形图:绘制离散的数据,一眼看出各个数据大小,比较数据间差异
散点图:判断变量之间的数量关联趋势,展示离群点(分布规律)
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
y1=[random.randint(1,4) for i in range(11,30)] #random.random是形成随机数,randint是形成整数
y2=[random.randint(1,4) for i in range(11,30)] #random.random是形成随机数,randint是形成整数
x=range(11,30)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#设置中文字体
myfont=font_manager.FontProperties(fname=r"C:\Windows\Fonts\simkai.ttf")
#绘制不同曲线,设置标签,颜色,线条类型及粗细
plt.plot(x,y1,label="自己",color="orange",linestyle=":")
plt.plot(x,y2,label="朋友",color="cyan",linestyle="--")
#设置x轴刻度标签和x轴标签
_xticks_labels =["{}years old".format(i) for i in x]
plt.xticks(x,_xticks_labels,rotation=45,fontproperties=myfont)
plt.xlabel("年龄",fontproperties=myfont)
plt.ylabel("女朋友数量",fontproperties=myfont)
#设置不同
#调整网格透明度
plt.grid(alpha=0.4)
#调整图例位置、图例字体
plt.legend(loc="best",prop=myfont)
#设置图题目、x和y的标签
plt.title(label="不同年龄女朋友数量",fontproperties=myfont)
#展示图形
plt.show()