pandas中绘图函数 --- 线形图、柱状图、直方图和散布图
程序员文章站
2022-06-05 20:30:59
...
pandas中绘图函数
Series和DataFrame都有一个都有一个生成各类图标的plot方法,默认情况下锁生成的都是线形图。
# 导入库
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
# matplotlib不引入,在调用的时候plot()时候,不会报错,但是图片加载不出来
import matplotlib.pyplot as plt
1、Series绘制线形图
s= Series(np.random.randint(0,20,size=10))
# 输出
0 19
1 5
2 4
3 12
4 6
5 9
6 2
7 17
8 19
9 17
dtype: int32
s.plot() # 绘制线形图
2、DataFrame绘制线形图
df = DataFrame(np.random.randint(0,150,size=(5,4)),
columns=['python','java','php','ruby'],
index=list('abcde'))
df.plot()
3、DataFrame绘制柱状图
df.plot(kind='bar')
df.plot(kind='barh')
4、Series绘制直方图
random生成随机直方图,调用hist()方法
nd = np.random.randint(0,10,size=10)
# 输出
array([5, 1, 9, 4, 2, 7, 3, 5, 1, 2])
s = Series(nd)
# bins默认值是10
s.hist(bins=50)
随机百分比密度图
s.plot(kind='kde')
5、DataFrame绘制散布图
df = DataFrame(np.random.randint(0,150,size=(10,3)),
columns=['python','java','php'])
# 输出
python java php
0 53 11 45
1 52 72 56
2 62 60 39
3 146 65 108
4 56 27 29
5 1 54 107
6 73 65 93
7 36 84 140
8 50 113 148
9 100 120 79
df['c++'] = df['python'].map(lambda x: 0.7* x + 20)
# 输出
python java php c++
0 53 11 45 57.1
1 52 72 56 56.4
2 62 60 39 63.4
3 146 65 108 122.2
4 56 27 29 59.2
5 1 54 107 20.7
6 73 65 93 71.1
7 36 84 140 45.2
8 50 113 148 55.0
9 100 120 79 90.0
df.plot(kind='hist')