IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python代码库之爬虫+数据分析+数据可视化(未完) -> 正文阅读

[人工智能]python代码库之爬虫+数据分析+数据可视化(未完)


如果有运行了报错了,要么是你自己写的时候没相关的变量,要么是我手打的函数打错了,你复制过去也错了

4.关于彩票的数据分析

1.

先导入两个库,再引入数据:matplotlib做出来的图都是PNG,做不到动态响应的图。所以还得学Python可视化神器——pyecharts的超详细使用指南!

import pandas as pd #做数据处理和分析、清洗
import matplotlib.pyplot as plt #用来做可视化的工具 ——>能把数据变成图表
import numpy as np #做数据处理的,pandas里边就有numpy

#引入数据 df=pd.read_csv('文件名带拓展名')
#如果想暂时看一下,可以:print(df)
#引入数据 headers=None表示第一行数据不是表头,而是变成列号了  index_col就是拿哪一列作为行的索引
#df存着读取的东西
df=pd.read_csv('data.csv',headers=None,index_col=0)

#  .loc是拿数据 :的意思是所有行or列,这里是从第一列到第六列的所有数据
red_ball=df.loc[:,1:6]
print(red_ball)

#做数据统计,统计每个号码出现的次数

```python
red_ball_count= pd.value_counts(red_ball.values.flatten()) #针对有多行多列的数据!!!flatten()是把二维变成一维的数据
print(red_ball_count)  #这时候就会打印出一行行的数据,每行就一个数据的信息:这个数据是什么,出现了几次。前边的叫index,后边的叫values !!!

# 那只有一列的平面数据的结构咋办?
blue_ball_count=pd.value_counts(blue_ball) #直接传进去就行了

#数据可视化
fig,ax=plt.subplots(2,1) #一次创建很多个图表,这里表示将两个图表摆成两行一列的形式
#我们要的图表在ax里面

#画饼图 以red_ball_count的索引给饼图每一块标上表示的是哪个数的占比  radius是半径  wedgeprops是小扇形的长度,所以设置后有可能会变成一个圆环哦
ax[0].pie(red_ball_count,labels=red_ball_count.index,radius=1,wedgeprops={'width':0.3})
ax[1].pie(blue_ball_count,labels=blue_ball_count.index,radius=0.5,wedgeprops={'width':0.2})

#但是上边的样子是两个图表分开的,如果想让两个圆环套在一起,只需要让ax[]的下标一样就可以画在同一个图表里了
ax[0].pie(red_ball_count,labels=red_ball_count.index,radius=1,wedgeprops={'width':0.3})
ax[0].pie(blue_ball_count,labels=blue_ball_count.index,radius=0.5,wedgeprops={'width':0.2})

plt.show() #图表展示

2.

上边的代码到最后每次打印的后会有一个空白的二维坐标系,所以咱们要去掉,怎么去掉呢??从上文数据可视化开始,不要fig、ax了,直接:

plt.pie(red_ball_count,labels=red_ball_count.index,radius=1,wedgeprops={'width':0.3})
plt.pie(blue_ball_count,labels=blue_ball_count.index,radius=0.5,wedgeprops={'width':0.2})

plt.show() #图表展示

3.

如果想弄更花的颜色,那么可以找来那些颜色的字符表达式,然后一个color列表(此列表元素都是字符,不同元素之间用逗号间隔) like this:
在这里插入图片描述
然后在上文紧接着的代码框里接着改:

plt.pie(red_ball_count,colors=np.random.choice(colors,len(red_ball_count)),labels=red_ball_count.index,radius=1,wedgeprops={'width':0.3})
#有多少个颜色我就从colors的列表里随机选多少个颜色
plt.pie(blue_ball_count,colors=np.random.choice(colors,len(red_ball_count)),labels=blue_ball_count.index,radius=0.5,wedgeprops={'width':0.2})

plt.show() #图表展示

8.关于电影票房的数据分析

1.

用 requests 、BeautifulSoup库
like this:
在这里插入图片描述

import requests
from bs4 import BeautifulSoup

# 通过requests请求到电影票房的首页  text存的是网址
text=requests.get('https://ys.endata.cn/DataMarket/Index').text

#使用BeautifulSoup进行解析
main_page=BeautifulSoup(text,'html.parser') #用html的规则去解析text

有些网页的网址改动下这个年份也是能快速浏览当年的信息的
在这里插入图片描述

2.

进一步拿到网页数据前,来到目标网页,鼠标右键后,点击 检查在这里插入图片描述
然后找table标签,注意只有这样的IDE才能要在这里插入图片描述
来,上代码:(接着上文,都在一个代码窗口)

# 找到table ,通过这 id 值来防止这个页面其他的table来干扰我们
table=main_page.find('table',attrs={'id':'tbContent'})
# find找的是一个标签,只返回第一个找到的  find_all找一堆标签. trs保存每一行标签

#弄个文件把提取到的数据保存起来
f=open('电影票房.csv',mode='a') #a表示 append追加写。因为要把之前爬的数据保留

# find_all() 返回list
trs= table.find_all('tr') #一堆tr,下面把tr拿出来
for tr in trs: #拿到每一个tr
	lst=tr.find_all('td') # 找到每一个td
	#但是第一行都是th ,也就是每列的名字(什么电影名、播放量啥的),所以咱不要
	if len(lst) != 0:
		for td in lst: #拿到每一个td,发现每一个td都是可以看成文本的
			# print(td.text) # 拿到td标签中的文本信息,就是我们要的电影信息
			f.write(td.text.strip()) #爬完一列的一个元素后
			f.write(',')             #用逗号隔开
		f.write("\n") # 这一行的数据写完后,换行
		#但是,有些内容表面上看是文本,但是是长连接,汉字后有看不见的换行符(如下图)
        #所以用.strip()  默认去掉左右两端的空白(空格、换行符、制表符)

在这里插入图片描述

3.爬取总的代码(做成函数)

上边都是弄的一年的,也就是2008年,接下来一次性要弄很多年的
定义成一个函数就行了

import requests
from bs4 import BeautifulSoup

def fowm(year):
	text=requests.get('https://www.cbooo.cn/year?year=%s' % year).text
	main_page=BeautifulSoup(text,'html.parser') #用html的规则去解析text
	table=main_page.find('table',attrs={'id':'tbContent'})
	f=open('电影票房.csv',mode='a') #a表示 append追加写。因为要把之前爬的数据保留
	trs= table.find_all('tr') #一堆tr,下面把tr拿出来
	for tr in trs: #拿到每一个tr
		lst=tr.find_all('td') # 找到每一个td
		#但是第一行都是th ,也就是每列的名字(什么电影名、播放量啥的),所以咱不要
		if len(lst) != 0:
			for td in lst: #拿到每一个td,发现每一个td都是可以看成文本的
				# print(td.text) # 拿到td标签中的文本信息,就是我们要的电影信息
				f.write(td.text.strip()) #爬完一列的一个元素后
				f.write(',')             #用逗号隔开
			f.write("\n") # 这一行的数据写完后,换行

for year in range(2008,2020):
	dowm(year)

4.数据分析(动态饼图)

预测足球比赛的结果得用线性回归

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:52:28  更:2021-11-15 15:52:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:22:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码