欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据分析day1

程序员文章站 2022-03-09 20:31:08
...

数据分析简介和jupyter 工具安装
为什么要学数据分析:
当获取的数据是大量,甚至上万条的时候,分析起来十分吃力,所以,当需要分析大量数据,并找到其中的规律的时候,就需要数据分析,帮助人们作出判读,以便采取适宜的行动。

数据分析三剑客:pandas, numpy, matplotlib

数据分析五步走:
1、提出问题
2、准备数据
3、分析数据
4、得出结论
5、数据可视化

jupyter工具的安装:
1、安装
pip install jupyter
2、打开
在命令格式(cmd)状态在输入 jupyter notebook 会打开一个默认的网页
3、修改默认路径
默认路径是在C盘的,所以为了解决C盘可能被占用大量内存的问题,需要修改默认的路径 打开cmd(命令提示符),输入jupyter notebook --generate-config,
会显示一串路径,在文件加中打开这个路径的文件jupyter_notebook_config,
找到:c.NotebookApp.notebook_dir = ‘’
修改后#c.NotebookApp.notebook_dir = 'D:\pycodes(你需要修改的路径)

修改环境变量
在搜索中输入jupyter Notebook 找到快捷键方式

在快捷方式中删除最后的 “%USERPROFILE%/”

matplotlib 基本使用–折线图
1、导入模块-没有就安装
from matplotlib import pyplot as plt

2、输入x,y坐标
x = range(0,10)
y = [0,1,2,3,4,5,6,7,8,9]
plt.plot(x, y)

3、显示图片
plt.show()

from matplotlib  import pyplot as plt
x = range(0,10)
y = [0,1,2,3,4,5,6,7,8,9]
plt.plot(x,y)
plt.show()

存在问题:
1、设置图片大小
2、图片保存在本地
3、描述信息
4、调整坐标刻度
5、线条的样式
6、给图片添加网格状
解决上述问题:
1、图片大小问题

fig = plt.figure(figsize=(sizex sizey), dpi=num)

#前一个参数figsize为图片大小,dpi是dot percent inches 代表清晰度
2、下载图片

plt.savefig(path)  #path是保存的路径和图片名

3、描述信息

plt.xlabel(string)#string参数代表给x添加的描述
plt.ylabel(string)#略

4、刻度
需要描述x轴,y轴,图表代表的信息、

plt.xticks(arg1)#参数是一个迭代器,代表x轴
plt.yticks(arg1)

需要用字符描述x轴,y轴

plt.xticks(arg1, arg2)

#arg1是代表的X轴坐标,参数2代表的是一个字符串迭代器(一系列字符串),意味着一个个字符串代替了原来的x坐标轴,plt.yticks同一意思
5、线条样式:

plt.plot(x, y, color = ‘blue’, linestyle=--)#linestyle有-.,--,:等等

6、网格状

plt.grid(alpha=0.1)#参数alpha代表透明度,趋近1,则不透明,线条同样可以设置透明度

拓展:
当一个图片中存在多个线条的时候,图例(区分不同线条):

plt.plot(x, a,label=’line1’)#设置一条
plt.plot(x, b,label=’line2’)#设置另一条
plt.legend(loc=’’)#让图例生效,设置图例位置参数loc支持数字和upper right等参数

当图片中使用中文出现方框乱码(两条代码解决乱码):

plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示

为方块的问题

代码实操:
假如大家在30岁的时候,根据自身情况,统计你和你的同座自11到30岁每年交往的女朋友的数量如列表a,b请绘制该图

a = [1,2,3,4,5,1,2,3,4,5,1,2,0,0,3,1,2,3,4,1]
b = [1, 4, 3, 2, 1, 3, 0, 0, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]



from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#a,b是不同的y轴坐标
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 0, 0, from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#a,b是不同的y轴坐标
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 0, 0, 3, 1, 2, 3, 4, 1]
b = [1, 4, 3, 2, 1, 3, 0, 0, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
#x是x轴坐标
x = [i for i in range(11,31)]
_x_aixs = ['{}岁'.format(i) for i in x]
#设置图片大小
plt.figure(figsize=(20,8),dpi=75)
#画图
plt.plot(x,a,label='我',c='yellow')
plt.plot(x,b,label='同桌',linestyle='-.')
#网格化from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#a,b是不同的y轴坐标
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 0, 0, 3, 1, 2, 3, 4, 1]
b = [1, 4, 3, 2, 1, 3, 0, 0, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
#x是x轴坐标
x = [i for i in range(11,31)]
_x_aixs = ['{}岁'.format(i) for i in x]
#设置图片大小
plt.figure(figsize=(20,8),dpi=75)
#画图
plt.plot(x,a,label='我',c='yellow')
plt.plot(x,b,label='同桌',linestyle='-.')
#网格化
plt.grid(0.6,linestyle='-.')
#给xy轴加上标签
plt.xlabel('岁数')
plt.ylabel('女朋友个数')
plt.title('每年女朋友个数')
#设置x轴刻度
plt.xticks(x,_x_aixs)
plt.yticks(range(0,8))
plt.legend(loc='upper left')
#显示
plt.show()

plt.grid(0.6,linestyle='-.')
#给xy轴加上标签
plt.xlabel('岁数')
plt.ylabel('女朋友个数')
plt.title('每年女朋友个数')
#设置x轴刻度
plt.xticks(x,_x_aixs)
plt.yticks(range(0,8))
plt.legend(loc='upper left')
#显示
plt.show()KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#a,b是不同的y轴坐标
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 0, 0, 3, 1, 2, 3, 4, 1]
b = [1, 4, 3, 2, 1, 3, 0, 0, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
#x是x轴坐标
x = [i for i in range(11,31)]
_x_aixs = ['{}岁'.format(i) for i in x]
#设置图片大小
plt.figure(figsize=(20,8),dpi=75)
#画图
plt.plot(x,a,label='我',c='yellow')
plt.plot(x,b,label='同桌',linestyle='-.')
#网格化
plt.grid(0.6,linestyle='-.')
#给xy轴加上标签
plt.xlabel('岁数')
plt.ylabel('女朋友个数')
plt.title('每年女朋友个数')
#设置x轴刻度
plt.xticks(x,_x_aixs)
plt.yticks(range(0,8))
plt.legend(loc='upper left')
#显示
plt.show()3, 1, 2, 3, 4, 1]
b = [1, 4, 3, 2, 1, 3, 0, 0, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
#x是x轴坐标
x = [i for i in range(11,31)]
_x_aixs = ['{}岁'.format(i) for i in x]
#设置图片大小
plt.figure(figsize=(20,8),dpi=75)
#画图
plt.plot(x,a,label='我',c='yellow')
plt.plot(x,b,label='同桌',linestyle='-.')
#网格化
plt.grid(0.6,linestyle='-.')
#给xy轴加上标签
plt.xlabel('岁数')
plt.ylabel('女朋友个数')
plt.title('每年女朋友个数')
#设置x轴刻度
plt.xticks(x,_x_aixs)
plt.yticks(range(0,8))
plt.legend(loc='upper left')
#显示
plt.show()