【数据处理】numpy、pandas、matplotlib之bar可视化

bar

bar画的是柱状图或者叫直方图。
它的x轴是一个连续变量,y轴是该变量的频次。
对于超过3维的数据用scatter来可视化就很困难了,这时候如何做数据分析呢?数据分析可以通过均值、方差、偏差、大致的概率分布来作分析,numpy、pandas可以方便的计算均值、方差、偏差,matplotlib可以用bar来做图看大致的概率分布图。

bar参数

matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)

bar实例

导入需要的包,取出需要的数据。

from sklearn.datasets import load_iris
import pandas as pd
import matplotlib.pyplot as plt
from pandas import DataFrame
import numpy as np

iris = load_iris()
iris_X = iris.data   #x有4个属性,共有150个样本点
iris_y = iris.target #y的取值有3个,分别是0,1,2

将标记为0的数据都取出来

df_X = DataFrame(iris_X, columns=['x1','x2','x3','x4'])
df_y = DataFrame(iris_y, columns=['y'])
df = pd.concat([df_X,df_y],axis=1)

df0 = df[df.y==0]
df1 = df[df.y==1]
df2 = df[df.y==2]

去重并统计频数

name_value=df0.x1.value_counts()
y=name_value.values
x=name_value.index

画图

# bar picture
plt.bar(x,y,width=0.5)
plt.show()

运行结果如下,这里只画了标记为0的数据中第一个特征的直方图,从这张图片看到,这个分布接近正态分布。进一步可以用numpy就是那均值和方差,得到正态分布的函数。
【数据处理】numpy、pandas、matplotlib之bar可视化_第1张图片

你可能感兴趣的:(机器学习)