一、绘制直方图

首先读入数据

def read_data():
    path = '../data/forCodeF-2.csv'
    data = pd.read_csv(path,encoding='gbk')
    return data

然后调用matplotlib.pyplot.hist函数绘制各维特征的分布直方图。

import matplotlib.pyplot as plt  # 可视化
def draw(data):
    data.hist(figsize=(16,14))
    plt.savefig("Plots.jpg",dpi=300, pad_inches = 0)
    plt.show()
data = read_data()
draw(data)

python数据预处理——直方图和热力图绘制

二、绘制热力图

利用热力图可以看数据表里多个特征两两的相似度。
相似度由皮尔逊相关系数度量。
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商::
ρX,Y=cov(X,Y)σXσY=E[(XμX)(YμY)]σXσY=E(XY)E(X)E(Y)E(X2)E2(X)E(Y2)E2(Y)\rho_{X,Y}=\frac{cov(X,Y)}{\sigma_X\sigma_Y}=\frac{E[(X-\mu_X)(Y-\mu_Y)]}{\sigma_X\sigma_Y}=\frac{E(XY)-E(X)E(Y)}{\sqrt{E(X^2)-E^2(X)}\sqrt{E(Y^2)-E^2(Y)}}
调用seaborn.heatmap绘制热力图:

def draw_heatmap(data):
    ylabels = data.columns.values.tolist()

    ss = StandardScaler()     # 归一化
    data = ss.fit_transform(data)

    df = pd.DataFrame(data)

    dfData = df.corr()
    plt.subplots(figsize=(15, 15)) # 设置画面大小
    sns.heatmap(dfData, annot=True, vmax=1, square=True,yticklabels=ylabels,xticklabels=ylabels, cmap="Blues")
    plt.savefig('../img/thermodynamicDiagram.jpg')
    plt.show()

data = read_data()
draw_heatmap(data)

python数据预处理——直方图和热力图绘制
注意:sns.heatmap的输入需为DataFrame格式,所以需要用将np.narray形式的数据转为DataFrame格式。

相关文章:

  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2022-01-13
  • 2022-12-23
  • 2022-12-23
  • 2021-05-28
  • 2021-08-28
猜你喜欢
  • 2022-01-10
  • 2021-12-15
  • 2022-12-23
  • 2021-11-22
  • 2021-05-22
  • 2022-12-23
相关资源
相似解决方案