当前位置:首页 » 《关于电脑》 » 正文

Python酷库之旅-第三方库Pandas(138)

19 人参与  2024年11月12日 10:41  分类 : 《关于电脑》  评论

点击全文阅读


目录

一、用法精讲

621、pandas.plotting.lag_plot方法

621-1、语法

621-2、参数

621-3、功能

621-4、返回值

621-5、说明

621-6、用法

621-6-1、数据准备

621-6-2、代码示例

621-6-3、结果输出

622、pandas.plotting.parallel_coordinates方法

622-1、语法

622-2、参数

622-3、功能

622-4、返回值

622-5、说明

622-6、用法

622-6-1、数据准备

622-6-2、代码示例

622-6-3、结果输出

623、pandas.plotting.plot_params方法

623-1、语法

623-2、参数

623-3、功能

623-4、返回值

623-5、说明

623-6、用法

623-6-1、数据准备

623-6-2、代码示例

623-6-3、结果输出

624、pandas.plotting.radviz方法

624-1、语法

624-2、参数

624-3、功能

624-4、返回值

624-5、说明

624-6、用法

624-6-1、数据准备

624-6-2、代码示例

624-6-3、结果输出

625、pandas.plotting.register_matplotlib_converters方法

625-1、语法

625-2、参数

625-3、功能

625-4、返回值

625-5、说明

625-6、用法

625-6-1、数据准备

625-6-2、代码示例

625-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

621、pandas.plotting.lag_plot方法
621-1、语法
# 621、pandas.plotting.lag_plot方法pandas.plotting.lag_plot(series, lag=1, ax=None, **kwds)Lag plot for time series.Parameters:seriesSeriesThe time series to visualize.lagint, default 1Lag length of the scatter plot.axMatplotlib axis object, optionalThe matplotlib axis object to use.**kwdsMatplotlib scatter method keyword arguments.Returns:matplotlib.axes.Axes.
621-2、参数

621-2-1、series(必须)series,表示要绘制滞后图的Pandas序列(Series)。

621-2-2、lag(可选,默认值为1)整数,表示滞后量,即当前值与前多少个时间点的值进行比较。默认值为1,表示与上一个时间点比较。

621-2-3、ax(可选,默认值为None)matplotlib.axes.Axes,表示绘图的matplotlib轴对象,如果不提供,则使用当前活动的轴或创建一个新的轴。

621-2-4、**kwds(可选)其他关键字参数,这些参数将被传递给底层的绘图函数(如matplotlib.pyplot.scatter或matplotlib.pyplot.plot),允许用户自定义图形的外观,如颜色、标记样式等。

621-3、功能

        滞后图通过绘制序列的当前值(y轴)与其滞后值(x轴)的散点图来工作,如果数据中存在某种模式(如周期性或趋势),则这些模式可能会在滞后图中表现为某种形状(如直线、曲线或循环)。

621-4、返回值

        返回包含滞后图的matplotlib轴对象,这允许用户进一步自定义图形,如添加标题、标签或调整轴的范围。

621-5、说明

        无

621-6、用法
621-6-1、数据准备
621-6-2、代码示例
# 621、pandas.plotting.lag_plot方法import pandas as pdimport matplotlib.pyplot as plt# 创建一个示例时间序列数据data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])# 使用lag_plot绘制滞后图,滞后量为1pd.plotting.lag_plot(data, lag=1)# 显示图形plt.show()
621-6-3、结果输出
# 621、pandas.plotting.lag_plot方法见图1

图1:

 

622、pandas.plotting.parallel_coordinates方法
622-1、语法
# 622、pandas.plotting.parallel_coordinates方法pandas.plotting.parallel_coordinates(frame, class_column, cols=None, ax=None, color=None, use_columns=False, xticks=None, colormap=None, axvlines=True, axvlines_kwds=None, sort_labels=False, **kwargs)Parallel coordinates plotting.Parameters:frameDataFrameclass_columnstrColumn name containing class names.colslist, optionalA list of column names to use.axmatplotlib.axis, optionalMatplotlib axis object.colorlist or tuple, optionalColors to use for the different classes.use_columnsbool, optionalIf true, columns will be used as xticks.xtickslist or tuple, optionalA list of values to use for xticks.colormapstr or matplotlib colormap, default NoneColormap to use for line colors.axvlinesbool, optionalIf true, vertical lines will be added at each xtick.axvlines_kwdskeywords, optionalOptions to be passed to axvline method for vertical lines.sort_labelsbool, default FalseSort class_column labels, useful when assigning colors.**kwargsOptions to pass to matplotlib plotting method.Returns:matplotlib.axes.Axes.
622-2、参数

622-2-1、frame(必须)DataFrame,表示要绘制平行坐标图的数据框(DataFrame)。

622-2-2、class_column(必须)字符串或整数,表示数据框中用于区分不同类别的列名(或列索引),该参数是可选的,但如果提供了,它将用于为不同类别的数据点着色。

622-2-3、cols(可选,默认值为None)list-like,表示要在图中显示的列名(或列索引)列表,如果不提供,将使用数据框中除class_column之外的所有列。

622-2-4、ax(可选,默认值为None)matplotlib.axes.Axes,表示绘图的matplotlib轴对象,如果不提供,则使用当前活动的轴或创建一个新的轴。

622-2-5、color(可选,默认值为None)list-like或array-like,用于指定每个数据点颜色的列表或数组,如果提供了class_column,则通常不需要这个参数,因为颜色会自动根据类别分配。

622-2-6、use_columns(可选,默认值为False)布尔值,如果为True,则使用cols参数中的列名作为x轴的刻度标签,而不是使用列的索引位置。

622-2-7、xticks(可选,默认值为None)list-like,自定义x轴的刻度位置,这可以用于调整刻度标签的显示。

622-2-8、colormap(可选,默认值为None)str或Colormap,用于映射类别到颜色的颜色映射表,如果提供了class_column,则可以使用这个参数来自定义颜色映射。

622-2-9、axvlines(可选,默认值为True)布尔值,是否在每个类别的每个维度上绘制垂直线,以突出显示类别之间的分隔。

622-2-10、axvlines_kwds(可选,默认值为None)字典,用于绘制垂直线的关键字参数字典,这些参数将被传递给matplotlib.pyplot.axvline函数。

622-2-11、sort_labels(可选,默认值为False)布尔值,是否对类别标签进行排序,如果为True,则类别标签将按字母顺序(对于字符串)或数值顺序(对于数字)排序。

622-2-12、**kwargs(可选)其他关键字参数,这些参数将被传递给底层的绘图函数,允许用户自定义图形的外观,如线条样式、标记样式等。

622-3、功能

        平行坐标图主要用于多维数据的可视化,通过连接不同维度上的数据点来揭示数据之间的关联和模式,它可以用于数据探索、聚类分析、特征选择等场景。

622-4、返回值

        返回包含平行坐标图的matplotlib轴对象,这允许用户进一步自定义图形,如添加标题、标签、图例或调整轴的范围和刻度。

622-5、说明

        无

622-6、用法
622-6-1、数据准备
622-6-2、代码示例
# 622、pandas.plotting.parallel_coordinates方法import pandas as pdimport matplotlib.pyplot as pltfrom pandas.plotting import parallel_coordinates# 创建一个示例数据框data = {    'feature1': [1, 2, 3, 4, 5],    'feature2': [5, 4, 3, 2, 1],    'feature3': [2, 3, 4, 5, 6],    'class': ['A', 'A', 'B', 'B', 'C']}df = pd.DataFrame(data)# 绘制平行坐标图parallel_coordinates(df, 'class', colormap='viridis')# 显示图形plt.show()
622-6-3、结果输出
# 622、pandas.plotting.parallel_coordinates方法见图2

图2:

 

623、pandas.plotting.plot_params方法
623-1、语法
# 623、pandas.plotting.plot_params方法pandas.plotting.plot_params = {'xaxis.compat': False}Stores pandas plotting options.Allows for parameter aliasing so you can just use parameter names that are the same as the plot function parameters, but is stored in a canonical format that makes it easy to breakdown into groups later.
623-2、参数

623-2-1、xaxis.compat(可选,默认值为False):

这个参数控制x轴的兼容性模式,当设置为True时,Pandas会尝试使x轴的标签与Matplotlib的默认行为兼容。这通常意味着,如果x轴是日期时间类型,Pandas会尝试以Matplotlib的默认方式格式化日期时间标签。然而,这种兼容性模式有时可能会导致意外的行为,特别是当Pandas和Matplotlib的版本不同步时。当设置为False时,Pandas会使用自己的方式来处理x轴的标签,这通常意味着更直接和可预测的行为,特别是当处理日期时间数据时。
623-3、功能

        允许用户全局设置绘图参数,从而简化了绘图过程,通过修改这个字典中的值,用户可以改变Pandas绘图函数的默认行为,而无需在每次调用时都传递额外的参数。

623-4、返回值

        用于存储全局绘图参数,修改这个字典不会返回任何值;相反,它会改变Pandas绘图函数的默认行为。

623-5、说明

        无

623-6、用法
623-6-1、数据准备
623-6-2、代码示例
# 623、pandas.plotting.plot_params方法import pandas as pdimport matplotlib.pyplot as plt# 设置全局绘图参数pd.plotting.plot_params['xaxis.compat'] = False# 创建一个示例数据框df = pd.DataFrame({    'Date': pd.date_range(start='2024-01-01', periods=10, freq='D'),    'Value': range(10)})# 将日期列设置为索引df.set_index('Date', inplace=True)# 绘制折线图df.plot()# 显示图形plt.show()
623-6-3、结果输出
# 623、pandas.plotting.plot_params方法见图3

图3:

 

624、pandas.plotting.radviz方法
624-1、语法
# 624、pandas.plotting.radviz方法pandas.plotting.radviz(frame, class_column, ax=None, color=None, colormap=None, **kwds)Plot a multidimensional dataset in 2D.Each Series in the DataFrame is represented as a evenly distributed slice on a circle. Each data point is rendered in the circle according to the value on each Series. Highly correlated Series in the DataFrame are placed closer on the unit circle.RadViz allow to project a N-dimensional data set into a 2D space where the influence of each dimension can be interpreted as a balance between the influence of all dimensions.More info available at the original article describing RadViz.Parameters:frameDataFrameObject holding the data.class_columnstrColumn name containing the name of the data point category.axmatplotlib.axes.Axes, optionalA plot instance to which to add the information.colorlist[str] or tuple[str], optionalAssign a color to each category. Example: [‘blue’, ‘green’].colormapstr or matplotlib.colors.Colormap, default NoneColormap to select colors from. If string, load colormap with that name from matplotlib.**kwdsOptions to pass to matplotlib scatter plotting method.Returns:matplotlib.axes.Axes.
624-2、参数

624-2-1、frame(必须)DataFrame,包含要可视化的数据,通常为一个pandas的DataFrame,其中每一列代表一个维度,行代表样本。

624-2-2、class_column(必须)字符串,指定DataFrame中用于分类的数据列名,用于区分不同的类别。

624-2-3、ax(可选,默认值为None)matplotlib.axes.Axes或None,表示可选择的轴对象,如果提供,则在该轴上绘图;如果为None,将会自动创建一个新的图形。

624-2-4、color(可选,默认值为None)字符串或列表或字典,用于指定不同类别的颜色,可以是颜色名、十六进制颜色代码,或是一个字典映射类别到颜色的值。

624-2-5、colormap(可选,默认值为None)matplotlib Colormap,如果指定了色彩映射,则使用该映射为数据着色,一般在需要为连续值着色时使用。

624-2-6、**kwds(可选)其他关键字参数,通常用于控制绘图的细节,例如:marker、s(大小)等 matplotlib 参数。

624-3、功能

        通过径向坐标系展示高维数据,使得不同类别的样本可以通过颜色和分布形状直观区分,它可以揭示数据的模式、聚类情况及类别之间的关系。

624-4、返回值

        返回绘制图形的Axes对象,便于后续的进一步操作和调整。

624-5、说明

        无

624-6、用法
624-6-1、数据准备
624-6-2、代码示例
# 624、pandas.plotting.radviz方法import pandas as pdimport matplotlib.pyplot as plt# 示例数据data = {    'feature1': [1, 2, 3, 4],    'feature2': [4, 3, 2, 1],    'class': ['A', 'B', 'A', 'B']}df = pd.DataFrame(data)# 使用radviz可视化ax = pd.plotting.radviz(df, 'class', color=['red', 'blue'])plt.show()
624-6-3、结果输出
# 624、pandas.plotting.radviz方法见图4

图4:

 

625、pandas.plotting.register_matplotlib_converters方法
625-1、语法
# 625、pandas.plotting.register_matplotlib_converters方法pandas.plotting.register_matplotlib_converters()Register pandas formatters and converters with matplotlib.This function modifies the global matplotlib.units.registry dictionary. pandas adds custom converters forpd.Timestamppd.Periodnp.datetime64datetime.datetimedatetime.datedatetime.time
625-2、参数

        无

625-3、功能

        自动注册pandas的日期时间转换器,以便在Matplotlib中正确渲染时间序列数据。这样,日期和时间类型的数据可以分配到合适的轴上,通过调用这个函数,可以确保在使用Matplotlib绘制含有日期时间数据的图表时,绘图函数能够正确处理pandas的Timestamp或DatatimeIndex类型,而不会出现类型不匹配的问题。

625-4、返回值

        该函数不返回任何值,它的效果是通过修改全局环境来确保后续的绘图操作与时间序列数据保持良好的兼容性。

625-5、说明

        无

625-6、用法
625-6-1、数据准备
625-6-2、代码示例
# 625、pandas.plotting.register_matplotlib_converters方法import pandas as pdimport matplotlib.pyplot as plt# 注册时间序列转换器pd.plotting.register_matplotlib_converters()# 示例数据dates = pd.date_range('2024-01-01', periods=5)values = [1, 2, 3, 4, 5]data = pd.Series(values, index=dates)# 绘制图形data.plot()plt.show()
625-6-3、结果输出
# 625、pandas.plotting.register_matplotlib_converters方法见图5

图5:

 

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

点击全文阅读


本文链接:http://zhangshiyu.com/post/184948.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1