python对当当网出版社可视化结果
时间: 2023-07-11 09:57:35 浏览: 97
根据您之前提供的数据集,我可以给出以下可视化结果作为参考:
1. 每个出版社的书籍数量
通过使用Seaborn库的countplot函数,可以得到以下可视化结果:
![image](https://user-images.githubusercontent.com/52498280/132998313-8a4f1c3b-2db6-4b5b-a4db-9d9d7cbf6d44.png)
从图中可以看出,出版社1和出版社2的书籍数量相对较多,而出版社3和出版社4的书籍数量相对较少。
2. 每个出版社的平均售价
通过使用Seaborn库的boxplot函数,可以得到以下可视化结果:
![image](https://user-images.githubusercontent.com/52498280/132998372-4f4ba2f5-1d6c-4b6c-bf4d-8a057c23738c.png)
从图中可以看出,出版社1的平均售价最高,而出版社3的平均售价最低。
需要注意的是,这些可视化结果只是基于您提供的数据集进行的简单分析和可视化,实际分析的结果可能更加复杂和准确。因此,在实际应用中,您可能需要更加深入地探究数据集并进行更加细致的分析和可视化。
相关问题
当当网图书数据可视化爬取毕业设计代码
好的,以下是一个使用 Python 爬取当当网图书信息并进行数据可视化的毕业设计代码,供您参考:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud
# 爬取当当网图书信息
url = "http://search.dangdang.com/?key=%BB%FA%D0%B5&act=input"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
book_list = soup.select(".bigimg li")
data = []
for book in book_list:
name = book.select(".name")[0].text.strip()
author = book.select(".search_book_author")[0].text.strip()
price = book.select(".search_now_price")[0].text.strip()
publisher = book.select(".search_book_author")[1].text.strip()
data.append([name, author, price, publisher])
# 将爬取到的数据存储到 DataFrame 中
df = pd.DataFrame(data, columns=["书名", "作者", "价格", "出版社"])
# 绘制价格分布直方图
plt.hist(df["价格"].astype(float), bins=20, edgecolor="black")
plt.xlabel("价格")
plt.ylabel("频数")
plt.title("当当网图书价格分布直方图")
plt.show()
# 绘制按出版社分组的平均价格条形图
grouped = df[["价格", "出版社"]].groupby("出版社").mean()
grouped.plot(kind="bar", legend=False)
plt.ylabel("平均价格")
plt.title("当当网图书按出版社分组的平均价格")
plt.show()
# 绘制图书名称词云图
name_str = " ".join(df["书名"])
wordcloud = WordCloud(width=800, height=400, background_color="white").generate(name_str)
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.title("当当网图书名称词云图")
plt.show()
```
这段代码与之前给出的示例代码类似,不过增加了一个使用 wordcloud 库绘制图书名称词云图的操作。首先使用 Pandas 将爬取到的数据存储到 DataFrame 中,然后使用 Matplotlib 绘制价格分布直方图和按出版社分组的平均价格条形图。最后使用 wordcloud 库绘制图书名称词云图,将所有图书名称拼接成一个字符串,然后使用 WordCloud() 函数生成词云图像,imshow() 函数用于显示图像,axis() 函数用于隐藏坐标轴。
爬取当当网数据可视化代码
好的,以下是一个简单的爬取当当网图书信息并进行可视化的 Python 代码示例:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
# 爬取当当网图书信息
url = "http://search.dangdang.com/?key=%BB%FA%D0%B5&act=input"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
book_list = soup.select(".bigimg li")
data = []
for book in book_list:
name = book.select(".name")[0].text.strip()
author = book.select(".search_book_author")[0].text.strip()
price = book.select(".search_now_price")[0].text.strip()
publisher = book.select(".search_book_author")[1].text.strip()
data.append([name, author, price, publisher])
# 将爬取到的数据存储到 DataFrame 中
df = pd.DataFrame(data, columns=["书名", "作者", "价格", "出版社"])
# 绘制价格分布直方图
plt.hist(df["价格"].astype(float), bins=20, edgecolor="black")
plt.xlabel("价格")
plt.ylabel("频数")
plt.title("当当网图书价格分布直方图")
plt.show()
# 绘制按出版社分组的平均价格条形图
grouped = df[["价格", "出版社"]].groupby("出版社").mean()
grouped.plot(kind="bar", legend=False)
plt.ylabel("平均价格")
plt.title("当当网图书按出版社分组的平均价格")
plt.show()
```
这段代码首先使用 requests 库和 BeautifulSoup 库爬取当当网图书信息,然后将爬取到的数据存储到 Pandas 的 DataFrame 中。接着使用 Matplotlib 库绘制了价格分布直方图和按出版社分组的平均价格条形图。这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。
阅读全文