如何在Python中使用Pandas绘制安德鲁斯曲线
安德鲁斯曲线通过将每个观测值映射到一个函数上,用于实现高维数据的可视化。它保留了平均值、距离和变异。它由公式给出。
T(n) = x_1/sqrt(2) + x_2 sin(n) + x_3 cos(n) + x_4 sin(2n) + x_5 cos(2n) + …
在图形上绘制安德鲁斯曲线可以使用绘图__模块的andrews_curves()方法来完成。这个函数生成一个安德鲁斯曲线的matplotlib图,用于可视化多变量数据的聚类。
语法: andrews_curves(frame, class_column, ax=None, samples=200, color=None, colormap=None, **kwargs)
参数:
- frame:它是要绘制的数据。
- class_column:这是包含类名的列的名称。
- ax:这个参数是一个matplotlib轴对象。它的默认值是无。
- samples: 这个参数是在每条曲线中要绘制的点的数量。
- color: 这个参数是一个可选的参数,它是用于不同类别的颜色的列表或元组。
- colormap:这个参数是string/matplotlib的colormap对象。它的默认值是无。
返回:此函数返回一个matplotlip.axis.Axes类的对象。
例子1:在下面的例子中,从CSV文件中制作了一个数据框,该数据框被用来绘制andrews_curves。使用的CSV文件在这里。
# importing various package
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# making data frame from csv file
df = pd.read_csv(
'C:\\Users\\digital india\\Desktop\\pand.csv'
)
# Creating Andrews curves
x = pd.plotting.andrews_curves(df, 'animal')
# ploting the Curve
x.plot()
# Display
plt.show()
输出:
示例 2:
# importing various package
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# making data frame from csv file
df = pd.read_csv(
'https://raw.github.com/pandas-dev/'
'pandas/master/pandas/tests/io/data/csv/iris.csv'
)
# Creating Andrews curves
x = pd.plotting.andrews_curves(df, 'Name')
# ploting the Curve
x.plot()
# Display
plt.show()
输出: