数据分析day1
数据分析简介和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()
上一篇: pd.Categorical的应用