大数据大作业 | 您所在的位置:网站首页 › 大数据基础大作业 › 大数据大作业 |
原文链接 文章目录 1、数据集2、通过jupyter进行数据分析安装jupyter新建terminal开始写代码前期准备处理数据 探索与可视化数据——Plotly安装使用导入必要包实例饼图直方图词云横着的直方图 世界地图 1、数据集 Google游戏医用口罩😷检测数据集本次实验用到的资料以及产出 ps:(木有了 o(╥﹏╥)o,又活了,这次是永久链接,不过希望先看一下README.md文档 ) 链接:https://pan.baidu.com/s/1PaspMAYXs7YP2t5UTfyFUA?pwd=r78g 提取码:r78g 2、通过jupyter进行数据分析 安装jupyter更新pip pip install --upgrade pip安装jupyter pip install jupyter启动jupyter终端服务 jupyter notebook浏览器中打开:http://localhost:8088 新建terminal点击new->Python 3 开始写代码 前期准备导入必要的包 import pandas as pd import numpy as np import matplotlib.pyplot as plt导入数据集 df = pd.read_csv("file_name.csv")查看数据前五行 df.head(5) 处理数据检查行数和列数 df.shape检查每个列的数据类型 df.dtypes如果觉得哪个数据类型很奇怪可以进一步检测 type(df['column_name'][0])将日期列从对象转换成日期时间(obj->datetime) df['Date'] = pd.to_datetime(df['Date']) #Date是日期列名检测修改结果 df.dtypes检测是否有缺失值 df.info()注意在Keywords,在10,000行中,只有7,528行包含Keywords列中的对象。这意味着大约有2500个缺失值。这意味着这些文章没有关键词。请记住这一点,因为在讨论数据分析时,我们需要包括这一点。 检测是否有重复数据 df.duplicated() 探索与可视化数据——PlotlyPlotly相关blog 安装 pip install plotly 使用 导入必要包 from plotly.graph_objs import Scatter,Layout import plotly import plotly.offline as py import numpy as np import plotly.graph_objs as go #setting offilne(设置为离线模式) plotly.offline.init_notebook_mode(connected=True) 实例 饼图导包 import plotly as py import plotly.graph_objs as go pyplt=py.offline.plot获取数据 关于values的求法: values=[0,0,0,0,0] for i in df['最大生命']: if i>9000:values[4]+=1 elif i>8000:values[3]+=1 elif i>7000:values[2]+=1 elif i>6000:values[1]+=1 else:values[0]+=1绘图 labels=['5k~6k','6k~7k','7k~8k','8k~9k','9k~10k'] values=[28, 19, 12, 9, 1] #用遍历求出来,贴在下面了 trace=[go.Pie( labels=labels, values=values, hole=0.7, #控制环形中心空白大小 hoverinfo='label+percent' #hoverinfo属性用于控制当用户将鼠标指针放到环形图上时,显示的内容 )] layout=go.Layout( title='英雄最高血量图', ) fig=go.Figure(data=trace,layout=layout) pyplt(fig,filename='环形饼图.html') 直方图 #绘制英雄-初始生命列 trace0 = go.Bar( x = list(df['英雄']), y = list(df['初始生命']), name = 'initHP', marker=dict( color = 'rgb(236, 114, 89)' ) ) #绘制英雄-初始物攻列 trace1 = go.Bar( x = list(df['英雄']), y = list(df['初始物攻']), name = 'initAP', marker=dict( color = 'rgb(245, 245, 245)' ) ) #整合整个数据 data = [trace0,trace1] #不知道干什么用的,反正作为了下面的一个参数 layout=go.Layout( title='英雄初始属性', ) #生成了一个fig对象 fig=go.Figure(data=data,layout=layout) #生成html文件 pyplt(fig,filename='英雄初始属性.html')词云 #获取所有英雄名 str = ''.join(df['英雄']) resultStr = '' for i in str: resultStr += i+' ' #将resultStr写入(可以不用) ''' fo=open("heroName.txt","w") fo.writelines(resultStr) fo.close() ''' #做词云操作 from wordcloud import WordCloud from matplotlib import pyplot as plt font = r'C:\Windows\Fonts\FZSTK.TTF' wc = WordCloud(font_path=font, #如果是中文必须要添加这个,否则会显示成框框 background_color='white', width=2000, height=1000, ).generate(resultStr) plt.imshow(wc) #用plt显示图片 plt.axis('off') #不显示坐标轴 plt.show() #显示图片 结果: 横着的直方图 maxValue = {} #去除无法去最值的列 columns = [i for i in list(df.columns) if i not in ['英雄','攻击范围','主要定位','次要定位 ']] #创建属性:(英雄名,最值)的字典 for i in columns: maxValue[i] = (df['英雄'][list(df[i]).index(max(df[i]))],max(df[i])) maxValueArr = [] for i in list(maxValue.values()): maxValueArr.append(i[1]) #开始绘图 import plotly as py import plotly.graph_objs as go pyplt=py.offline.plot data=[go.Bar( x=maxValueArr, y=list(maxValue.keys()), orientation= 'h')] layout=go.Layout( title= '稀有金属期货持仓量对比图' ) figure= go.Figure(data = data, layout =layout) pyplt(figure, filename='tmp/1.html')#必须要先有tmp文件夹才可以 世界地图参考文献 https://www.cnblogs.com/zxfei/p/12255207.htmlhttps://www.freesion.com/article/9050642350/https://pyecharts.org/#/https://www.jb51.net/article/183455.htm |
CopyRight 2018-2019 实验室设备网 版权所有 |