import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 将图片画在网页里
%matplotlib inline
ts=pd.Series(np.random.randn(1000),index=pd.date_range('2000/1/1',periods=1000))
ts=ts.cumsum()
ts.plot(title='Series cumsum',style='r--',figsize=(6,4))

在这里插入图片描述

df=pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('abcd'))
#每一列累计求和
df=df.cumsum()
df.plot(title='DataFrame cumsum')

在这里插入图片描述

# subplots=True 将每一列单独画在子图里;,sharex=True,y轴范围相同
df.plot(subplots=True,sharey=True)

在这里插入图片描述

"""x轴默认是行索引,也可指定pandas某一类数据作为x轴"""
# 指定d列数据作为x轴
df.plot(x='d',y=['a','c'])

在这里插入图片描述

"""柱状图"""
df=pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
#画第一行的柱状图,kind='bar'类型为柱状图
df.iloc[0].plot(kind='bar')

在这里插入图片描述

df.plot.bar()

在这里插入图片描述

#堆叠的画出来,先画第一列,在上面画第二列
df.plot.bar(stacked=True)

在这里插入图片描述

"""直方图"""
df=pd.DataFrame(np.random.randn(1000,3),columns=list('abc'))
# 对a列画直方图,将最大值与最小值之间的区间做20等分,落在每个区间的点的个数
df['a'].hist(bins=20)

在这里插入图片描述

# 将每一列的直方图画在一个图片里面
df.plot.hist(subplots=True,sharex=True,sharey=True)

在这里插入图片描述

# alpha=0.3 设置透明度
df.plot.hist(alpha=0.3)

在这里插入图片描述

"""绘制概率密度"""
df['a'].plot.kde()

在这里插入图片描述在这里插入图片描述

df.plot.kde()
df.mean()
a    0.018599
b    0.004607
c   -0.053968
dtype: float64
df.std()
a    1.010327
b    1.038935
c    1.046297
dtype: float64
"""散点图画(x,y)点"""
df.plot.scatter(x='a',y='b')

在这里插入图片描述

"""饼图"""
s=pd.Series(3*np.random.rand(4),index=list('abcd'),name='series')
print(s)
s.plot.pie(labels=['A','b','C','orange'],autopct="%0.2f",fontsize=12)
a    2.970204
b    0.762244
c    1.206364
d    2.401405
Name: series, dtype: float64

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐