大数据大作业 您所在的位置:网站首页 大数据基础大作业 大数据大作业

大数据大作业

2024-04-10 20:35| 来源: 网络整理| 查看: 265

原文链接

文章目录 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() 探索与可视化数据——Plotly

Plotly相关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 实验室设备网 版权所有