首页 > Python资料 博客日记

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

2024-10-20 00:00:09Python资料围观34

这篇文章介绍了Python酷库之旅-第三方库Pandas(138),分享给大家做个参考,收藏Python资料网收获更多编程知识

目录

一、用法精讲

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:
series
Series
The time series to visualize.

lag
int, default 1
Lag length of the scatter plot.

ax
Matplotlib axis object, optional
The matplotlib axis object to use.

**kwds
Matplotlib 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 pd
import matplotlib.pyplot as plt
# 创建一个示例时间序列数据
data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 使用lag_plot绘制滞后图,滞后量为1
pd.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:
frame
DataFrame
class_column
str
Column name containing class names.

cols
list, optional
A list of column names to use.

ax
matplotlib.axis, optional
Matplotlib axis object.

color
list or tuple, optional
Colors to use for the different classes.

use_columns
bool, optional
If true, columns will be used as xticks.

xticks
list or tuple, optional
A list of values to use for xticks.

colormap
str or matplotlib colormap, default None
Colormap to use for line colors.

axvlines
bool, optional
If true, vertical lines will be added at each xtick.

axvlines_kwds
keywords, optional
Options to be passed to axvline method for vertical lines.

sort_labels
bool, default False
Sort class_column labels, useful when assigning colors.

**kwargs
Options 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 pd
import matplotlib.pyplot as plt
from 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 pd
import 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:
frameDataFrame
Object holding the data.

class_columnstr
Column name containing the name of the data point category.

axmatplotlib.axes.Axes, optional
A plot instance to which to add the information.

colorlist[str] or tuple[str], optional
Assign a color to each category. Example: [‘blue’, ‘green’].

colormapstr or matplotlib.colors.Colormap, default None
Colormap to select colors from. If string, load colormap with that name from matplotlib.

**kwds
Options 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 pd
import 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 for

pd.Timestamp

pd.Period

np.datetime64

datetime.datetime

datetime.date

datetime.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 pd
import 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、博客个人主页

版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐