Pandas 提供了内置的绘图接口,基于 Matplotlib 实现,支持直接通过 DataFrame 或 Series 调用 .plot() 方法快速绘制折线图、柱状图、直方图、饼图等常见图表,适用于对数据进行可视化分析,便于观察趋势、分布和关系,无需手动配置底层绘图库即可实现简单直观的数据展示。本文主要介绍Python Pandas 绘制图表。

1、绘制

Pandas 中,绘图功能非常便捷,通常通过 .plot() 方法实现各种图表。

httpswwwcjavapycom

Pandas使用plot()方法创建图表。

Python使用Matplotlib库的子模块Pyplot在屏幕上可视化该图。

Matplotlib教程中阅读有关Matplotlib的更多信息。

例如:

从Matplotlib导入pyplot并可视化我们的DataFrame:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot()

plt.show()

此页面中的示例使用一个名为“data.csv”的CSV文件。

data.csv文件:https://www.cjavapy.com/download/5fe1f74edc72d93b4993067c/

2、散点图(Scatter Plot)

使用kind参数指定要散点图:

kind = 'scatter'

散点图需要x轴和y轴。

在下面的示例中,将在 x 轴上使用"Duration",在 y 轴上使用"Calories"。

包括如下x和y参数:

x = 'Duration', y = 'Calories'

例如:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot(kind = 'scatter', x = 'Duration', y = 'Calories')

plt.show()

 Result

httpswwwcjavapycom

记住:在上一个示例中,我们了解到"Duration" 与 "Calories"之间的相关性为0.922721,并且得出结论,持续时间越长意味着燃烧的卡路里越多通过查看散点图。

下面创建另一个散点图,其中列之间存在不良关系,例如“Duration”和“Maxpulse”,且相关性为0.009403

例如: 

散点图,其中各列之间没有关系:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot(kind = 'scatter', x = 'Duration', y = 'Maxpulse')

plt.show()

Result

httpswwwcjavapycom

3、直方图

使用kind参数指定要的直方图:

kind = 'hist'

直方图只需要一列。

直方图显示了每个间隔的频率,例如,在50至60分钟之间进行了多少次锻炼?

在下面的示例中,我们将使用"Duration"列创建直方图:

例如:

df["Duration"].plot(kind = 'hist')

 Result

httpswwwcjavapycom

注意:直方图告诉我们,有100多次锻炼持续了50到60分钟。

推荐文档