数据科学导论——数据可视化进阶

本文通过三个实战案例介绍如何使用Python中的Matplotlib、Seaborn及WordCloud等库进行数据可视化。包括绘制热图分析属性间的相关性、利用词云进行文本可视化,并展示不同房型平均价格的柱状图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第1关:热图

请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,在上图示例中计算属性之间的相关性。

具体绘图请按照以下要求可视化:

  • 数据文件路径为 Task1/listings.csv;

  • 图形的 figsize 为 (10, 10);

  • 文件名为 Task1/img/T1.png。

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
def student():

    # ********* Begin *********#
    df=pd.read_csv("Task1/listings.csv")
    plt.figure(figsize=(10,10))
    sns.heatmap(df[['price','minimum_nights','availability_365','reviews_per_month','number_of_reviews']].corr(),annot=True)
    plt.xticks(rotation=90)
    plt.savefig("Task1/img/T1.png")
    plt.show()

    # ********* End *********#

第2关:文本可视化 

请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,在右侧编辑器补充代码,对上图代码进行修改添加 mask 参数,使得绘制图形形状为房子形状。

具体绘图请按照以下要求可视化:

  • 数据文件路径为 Task2/listings.csv;

  • 图形的 figsize 为 (10, 10);

  • 保存文件为 Task2/img/T1.png;

  • 为了使每次的图形一致,设置 random_state 为 2019。

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
import seaborn as sns
from PIL import Image
import requests
import numpy as np
import pandas as pd
def student():

    # ********* Begin *********#
    # 补全所有None的部分
    df=pd.read_csv("Task2/listings.csv")
    mask = np.array(Image.open(requests.get('http://www.clker.com/cliparts/O/i/x/Y/q/P/yellow-house-hi.png', stream=True).raw))
    filtered_words = {"Amsterdam", "apartment", "room", "bedroom", "studio", "city"}
    wordcloud = WordCloud(
                        background_color = "white",
                        stopwords = set(STOPWORDS).union(filtered_words),
                        max_words = 100,
                        max_font_size = 40,
                        mask = mask,
                        random_state=2019
                        ).generate(str(df["name"]))
    plt.figure(figsize = (10,10))
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.savefig("Task2/img/T1.png")
    plt.show()
    # ********* End *********#

第3关:作图调整和美化 

请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充。读取数据,然后统计不同 room_type 的平均价格并使用 seaborn 的 barplot 函数绘制柱状图。

具体绘图请按照以下要求:

  • 数据文件路径为 Task1/listings.csv;

  • 图形的 figsize 为 (10, 10);

  • 文件名为 Task3/img/T1.png;

  • 设置背景为 whitegrid;

  • 坐标轴旋转 90 度。

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
def student():

    # ********* Begin *********#
    plt.figure(figsize = (10,10))
    df=pd.read_csv("Task3/listings.csv")
    d=df["price"].groupby(df["room_type"]).mean()
    sns.set(style = 'whitegrid')
    sns.barplot(y=d.values,x=d.index)
    plt.xticks(rotation=90)
    plt.savefig("Task3/img/T1.png")
    plt.show()


    # ********* End *********#

数据可视化数据科学领域中重要的一环,它通过图表、图形和其他可视化工具将数据呈现出来,以便能够更好地理解和分析数据。 首先,数据可视化可以帮助我们更好地理解数据。通过将数据可视化成图表或图像,我们可以直观地看到数据的分布、趋势和模式。这些可视化结果可以让我们更容易地发现数据中的有意义的信息,并且帮助我们深入理解数据所传达的含义。 其次,数据可视化还可以帮助我们发现数据中的异常值。通过对数据进行可视化,我们可以快速地发现与众不同的数据点或异常模式。这些异常值可能是我们的数据收集过程中的错误,或者是数据背后隐藏的重要信息。通过识别和处理这些异常值,我们可以提高数据质量和分析的准确性。 此外,数据可视化也有助于数据的传达和沟通。在现实世界中,不同背景的人对于数据的理解能力和统计分析的能力有所差异。数据可视化可以帮助我们以更直观的方式向其他人传达数据,使得他们更容易理解和接受数据的分析结果。通过合适的图表和图形,我们可以有效地解释数据背后的趋势和关系,并与其他人进行更有意义的讨论和决策。 综上所述,数据可视化数据科学中起着重要的作用。它不仅帮助我们更好地理解和分析数据,发现异常值,还能够向他人有效传达和沟通数据。因此,在进行数据科学工作时,数据可视化是必不可少的一项技能和工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小浪浪、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值