首页 > 其他分享 >Polars简明基础教程十三:可视化(三)

Polars简明基础教程十三:可视化(三)

时间:2024-08-17 09:24:12浏览次数:5  
标签:df 简明 pclass 可视化 DataFrame 基础教程 Polars

 (示例中用到的csv数据文件可在CSDN 免费下载:“泰坦尼克号生还者数据集”):

import polars as pl

import hvplot as hv
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
import altair as alt
import vegafusion as vf

csv_file = r"..\data\titanic.csv"
df = pl.read_csv(csv_file)

passenger_class_counts_df = (
    df['pclass']
    .value_counts()
    .sort("pclass")
)

直方图

我们可以从表达式中制作直方图

p = df.select("fare").plot.hist()
hv.show(p)

或者从Series中。在这个例子中,我们设置了箱体的数量

p = df["fare"].plot.hist(bins=20)
hv.show(p)

直接使用外部库绘图

我们还可以直接将Polars的DataFrame传递给外部库。

Matplotlib

我们可以直接将passenger_class_counts_df的列传递给Matplotlib

有时会遇到这个图表和下面的Seaborn图表无法渲染的问题,可以尝试增加“plt.show()”方法试试。

plt.bar(
    x=passenger_class_counts_df["pclass"],
    height=passenger_class_counts_df["count"]
)

plt.show()

请注意,在Polars中pclass列是一个整数列,但图表中的x轴是浮点轴。为了使x轴显示为分类整数轴,我们将整数转换为字符串

passenger_class_counts_string_column_df = (
    passenger_class_counts_df
    .with_columns(
        pl.col("pclass").cast(pl.Utf8)
    )
)

plt.bar(
    x=passenger_class_counts_string_column_df["pclass"],
    height=passenger_class_counts_string_column_df["count"]
)

plt.show()

Matplotlib没有直接支持Polars。但是,Matplotlib可以接受Polars的Series,因为它只需要可以通过标准Python方法(Series支持的方法)遍历的序列类型对象。

Seaborn

我们可以将Polars的DataFrame传递给Seaborn来绘制许多图表。请注意,Seaborn通常会在内部将数据复制到Pandas,因为它大量使用了Pandas特有的功能,如索引。如果DataFrame很大,您可能只想传递绘图所需的列,以避免整个DataFrame都被复制!

sns.barplot(
    passenger_class_counts_df,
    x="pclass",
    y="count",
    color='green'
)

plt.show()

一些更复杂的Seaborn图表也可以直接接受 Polars 的 DataFrame,如 sns.scatterplot 或sns.jointplot。在这个例子中,我们根据乘客等级对年龄(对数)和票价(对数)进行联合绘图

sns.jointplot(
    data=(
        df
        .with_columns(
            [
                pl.col(pl.Float64).log(),
                pl.col("pclass").cast(pl.Utf8)
            ]
        )
    ),
    x="age",
    y="fare",
    hue="pclass",
)

plt.show()

Plotly

我们可以直接将DataFrame传递给Plotly。

请注意,我们再次使用带有字符串列的DataFrame以获取正确的输出(忽略Plotly内部可能产生的任何Pandas警告)

另外,在pycharm中运行代码时有时可能在浏览器中显示不了图像,可以尝试重启浏览器试试。

fig = px.bar(
    passenger_class_counts_string_column_df,
    x="pclass",
    y="count",
    color="pclass",
    width=400
)

fig.show()

Polars简明基础教程系列

Polars简明基础教程十四:可视化(四)

Polars简明基础教程十三:可视化(三)

Polars简明基础教程十二:可视化(二)

Polars简明基础教程十一:可视化(一)

Polars简明基础教程十:Numpy和Pandas的相互转换(2)

Polars简明基础教程九:Numpy和Pandas的相互转换(1)

Polars简明基础教程八:Series 和 DataFrame 以及它们之间的转换_B

Polars简明基础教程七:Series 和 DataFrame 以及它们之间的转换_A

Polars简明基础教程六:什么是Polars的“DataFrame(数据框)_下”

Polars简明基础教程五:什么是Polars的“DataFrame(数据框)_上”

Polars简明基础教程四:懒惰模式 2:评估查询

Polars简明基础教程三:懒惰模式 1:引入懒惰模式(续)

Polars简明基础教程二:懒惰模式 1:引入懒惰模式

Polars简明基础教程一:Polars快速入门

标签:df,简明,pclass,可视化,DataFrame,基础教程,Polars
From: https://blog.csdn.net/sosogod/article/details/141183377

相关文章

  • 基于Python爬虫实现招聘数据分析可视化大屏
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业......
  • EasyCVR视频汇聚平台:打造全栈视频监控系统的基石,解锁可视化管理与高效运维
    随着科技的飞速发展,视频监控已成为现代社会不可或缺的一部分,广泛应用于社区、公共场所、工业领域等多个场景。EasyCVR视频汇聚平台,作为一款高性能的视频汇聚管理平台,凭借其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。本文将深入探讨EasyCVR视频......
  • 解锁企业数据分析瓶颈:数据可视化与报表自动化的实战策略
    Hi~这里是ProXiao文章参考:晓观点 《数据可视化与报表自动化:如何破解企业数据分析的痛点?》在数字化时代背景下,企业面临着日益增长的数据量和复杂性,这对数据处理、分析和应用提出了更高要求。企业决策过程中如何高效利用数据资源,已成为一个关键议题。本文旨在分析企业在数据......
  • 《机器学习》 KNN算法、数据可视化 No.1
    一、了解机器学习1、什么是机器学习        机器学习是一种人工智能(AI)的分支,旨在让计算机通过数据自动学习和改进。机器学习算法被设计用于从数据中提取模式和规律,然后利用这些模式和规律来做出预测或做出决策,而无需明确的程序指令。        机器学习的基本......
  • SSM-国外鞋服代购平台-97782(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、
    SSM国外鞋服代购平台摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,鞋服代购平台当然也不例外。代购平台是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过......
  • 最新微信付费进群源码系统三级分销(总站-分站-子分站-分销)+定位+可视化大屏及小程序搭
    付费进群系统作为一种创新的在线服务模式,逐渐受到创业者和用户的青睐。它不仅为创业者提供了稳定的收益渠道,也为用户带来了便捷的服务体验。从代码设计的角度来看,付费进群系统源码是一个复杂而精细的系统,涵盖了多个技术层面和考量因素。本文将深入探讨付费进群系统源码的代......
  • R语言ggplot2可视化实战:将可视化图像的标题(title)放置在图像的左下角
     R语言ggplot2可视化实战:将可视化图像的标题(title)放置在图像的左下角(customizetitlepositoninbottomleftofggplot2graph)目录R语言ggplot2可视化:将可视化图像的标题(title)放置在图像的左下角(customizetitlepositoninbottomleftofggplot2graph)#仿真数据......
  • 【可视化】中国地级市PM2.5浓度分区统计
    利用GeoPandas和xarray(rioxarray)库对中国PM2.5浓度数据开展城市尺度的分区统计,得到我国所有地级市的平均PM2.5浓度水平。相关库简介rioxarray是一个用于处理地理空间数据的Python库,它扩展了xarray的功能,使得xarray可以方便地处理带有地理参考的多维数组数据......
  • ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化
    这里在分享一个人口1km精度栅格数据,LandScan是由美国能源部橡树岭国家实验室(ORNL)提供的全球人口分布数据集,具有最高分辨率的全球人口分布数据,是全球人口数据发布的社会标准,是全球最为准确、可靠,基于地理位置的,具有分布模型和最佳分辨率的全球人口动态统计分析数据库。这一数据......
  • Python数据分析项目实战01_票房榜单分析和pyecharts大屏可视化
    一:最终大屏效果展示由于生成了html网页只能在本地上显示,这个大屏是动态的,只能显示其中的图片。如果要分享给他人使用,就需要将html源码转为网页。生成的html源码入口:‬​‍​‌‌​⁠​​​‌‍​​​​​‬​​​​​‬​​​​‌​​​‌‍​​​​​⁠‌‬‌​​‌Python数......