pandas-21 Series和Dataframe的画图方法

pandas-21 Series和Dataframe的画图方法

### 前言

在pandas中,无论是series还是dataframe都内置了.plot()方法,可以结合plt.show()进行很方便的画图。

Series.plot() 和 Dataframe.plot()参数

data : Series
kind : str
‘line’ : line plot (default)
‘bar’ : vertical bar plot
‘barh’ : horizontal bar plot
‘hist’ : histogram
‘box’ : boxplot
‘kde’ : Kernel Density Estimation plot
‘density’ : same as ‘kde’
‘area’ : area plot
‘pie’ : pie plot
指定画图的类型,是线形图还是柱状图等
label 添加标签
title 添加标题
……(后接一大堆可选参数)
详情请查阅:官方文档传送门

Dataframe.plot()参数 也是大同小异:
详情请查阅:官方文档传送门

Series.plot()代码demo

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from  pandas import Series

# 创建一个随机种子, 把生成的值固定下来
np.random.seed(666)

s1 = Series(np.random.randn(1000)).cumsum()

s2 = Series(np.random.randn(1000)).cumsum()

# series 中 也包含了 plot 方法
s1.plot(kind = 'line', grid = True, label = 'S1', title = 'xxx')
s2.plot(label = 's2')

plt.legend()
plt.show() # 图1

# 通过 子图的 方式,可视化 series
figure, ax = plt.subplots(2, 1)
ax[0].plot(s1)
ax[1].plot(s2)

plt.legend()
plt.show() # 图2

# 通过 series中的plot方法进行指定是哪一个子图
fig, ax = plt.subplots(2, 1)
s1.plot(ax = ax[1], label = 's1')
s2.plot(ax = ax[0], label = 's2')

plt.legend()
plt.show() # 图3
1234567891011121314151617181920212223242526272829303132333435

图1:

图2:

图3:

Dataframe.plot()代码demo

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series, DataFrame

np.random.seed(666)

df = DataFrame(
    np.random.randint(1, 10, 40).reshape(10, 4),
    columns = ['A', 'B', 'C', 'D']
)
print(df)
'''
   A  B  C  D
0  3  7  5  4
1  2  1  9  8
2  6  3  6  6
3  5  9  5  5
4  1  1  5  1
5  5  6  8  2
6  1  1  7  7
7  1  4  3  3
8  7  1  7  1
9  4  7  4  3
'''

# Dataframe 也有个内置方法 plot
df.plot(kind = 'bar') # kind = 'bar'
plt.show() # 图1

# 横向的柱状图
df.plot(kind = 'barh') # kind = 'barh' 可以是一个横向的柱状图
plt.show() # 图2

# 将每个column的柱状图堆叠起来
df.plot(kind = 'bar', stacked = True)
plt.show() # 图3

# 填充的图
df.plot(kind = 'area')
plt.show() # 图4

# 可以进行选择
b = df.iloc[6] # 这时候的b是一个series
b.plot() # 可以看出x轴就是colume的name
plt.show() # 图5

# 可以将所有的行全部画在一张图里
for i in df.index:
    df.iloc[i].plot(label = str(i))
plt.legend()
plt.show() # 图6

# 对一列进行画图
df['A'].plot()
plt.show() # 图7
# 多列画图,同上

# 注意:默认是按照column来进行画图的,
# 如果需要按照 index 画图,可以将 dataframe 转置一下
df.T.plot()
plt.show() # 图8
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

图1:

图2:

图3:

图4:

图5:

图6:

图7:

图8:

原文地址:https://www.cnblogs.com/wenqiangit/p/11252847.html

时间: 2024-10-09 20:56:22

pandas-21 Series和Dataframe的画图方法的相关文章

Pandas之Series和Dataframe

# Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引 import numpy as np import pandas as pd # 导入numpy.pandas模块 s = pd.Series(np.random.rand(5)) print(s) print(type(s)) # 查看数据.数据类型 print(s.index,type(s.index)) print(s.values,typ

pandas操作Series和DataFrame的基本功能

reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 1 >>> series_obj = Series([4.5,1.3,5,-5.5],index=('a','b','c','d')) 2 >>> series_obj 3 a 4.5 4 b 1.3 5 c 5.0 6 d -5.5 7 dtype: float64 8 >>> obj2 = series_obj.reind

pandas 的数据结构(Series, DataFrame)

Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. Series:一维数组,与Numpy中的一维array类似. 二者与Python基本的数据结构List也

利用 Python 进行数据分析(八)pandas 基本操作(Series 和 DataFrame)

一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 fill_value 参数指定填充值. 例如: fill_value 会让所有的缺失值都填充为同一个值,如果不想这样而是用相邻的元素(左或者右)的值填充,则可以用 method 参数,可选的参数值为 ffill 和 bfill,分别为用前值填充和用后值填充: 针对 DataFrame   重新索引

利用 Python 进行数据分析(七)- pandas 简单介绍(Series和DataFrame)

一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构:Series 和 DataFrame. 二.Series Series 是一个一维数组对象 ,类似于 NumPy 的一维 array.它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组. 将 Python 数组转换成 Series 对象: 将 Python 字典转换成 Serie

Pandas初体验之数据结构——Series和DataFrame

Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具. 对于Pandas包,在Python中常见的导入方法如下: from pandas import Series,DataFrame import pandas as pd 首先,我们需要对于Series和DataFrame有个基本的了解: Series:一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效

pandas.DataFrame的groupby()方法的基本使用

pandas.DataFrame的groupby()方法是一个特别常用和有用的方法.让我们快速掌握groupby()方法的基础使用,从此数据分析又多一法宝. 首先导入package: import pandas as pd import numpy as np groupby的最基本操作 df = pd.DataFrame({'A':[1,2,3,1],'B':[2,3,3,6],'C':[3,1,5,7]}) df 按照A列来进行分组(其实说白了就是将A列中重复的值和成同一个值,然后把A当成索

django+pandas+matplotlib进行日志分析,画图,页面展示

首先装好环境. Django的配置这里不再说了 看看日志格式,以及我们需要做什么,一条举例 218.104.141.167 - - [26/Jan/2014:06:46:30 +0800] "GET /main/index.php?cmd=CheckMob&Useage=REGIST&Mob=15377587416%20alt= HTTP/1.1" 200 55 "http://www.zhasini.ml/ddos.php?hm=15377587416&am

pandas-06 Series和Dataframe的排序操作

pandas-06 Series和Dataframe的排序操作 对pandas中的Series和Dataframe进行排序,主要使用sort_values()和sort_index(). DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last') by:列名,按照某列排序 axis:按照index排序还是按照column排序 ascending:是否升