pandas可视化
首先导入所需要的模块
import numpy as np
from pandas import DataFrame,Series
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
线形图
# Series数据
obj_1=Series(np.random.normal(size=8))
print(obj_1)
obj_1.plot()
plt.show()
# DataFrame数据
df_1=DataFrame({
'normal':np.random.normal(size=100),
'gamma':np.random.gamma(1,size=100),
'poisson':np.random.poisson(size=100)
})
print(df_1)
df_1.plot()
plt.show()
柱状图
data={
'books':['《三国》','《中华上下五千年》','《中华上下五千年》','《宋书》','《宋史》','《明史》'],
'name':['张三','李四','王五','赵六','宋金刚','刘武周'],
'shuliang':[0,1,1,0,1,1]
}
df_2=DataFrame(data=data)
print(df_2)
(df_2['books'].value_counts()).plot(kind='bar')
plt.show()
df_3=DataFrame(
np.random.randn(12).reshape(3,4),
index=['one','two','three'],
columns=['a','b','c','d']
)
print(df_3)
df_3.plot(kind='barh')
plt.show()
# 设置plot函数的stacked参数,可以绘制堆积柱状图
df_4=DataFrame(
np.arange(12).reshape(3,4),
index=('one','two','three'),
columns=['a','b','c','d']
)
df_4.plot(kind='barh',stacked=True,alpha=0.6)
# alpha参数可设置颜色透明度
plt.show()
注意,因为作图中含有中文,所以必须在源代码中添加这两句代码,否则会乱码。
plt.rcParams['font.family']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
如下:
直方图和密度图
# 直方图
obj_2=Series(np.random.normal(size=100))
print(obj_2)
obj_2.hist(bins=20,grid=False)
plt.show()
# 密度图
obj_2.plot(kind='kde')
plt.show()
散点图
df_4=DataFrame(np.arange(7),columns=['y'])
df_4['x']=df_4['y']*2+1
print(df_4)
df_4.plot(kind='scatter',x='y',y='x')
plt.show()