pandas 数据结构之Series的使用方法

 更新时间:2019年06月21日 10:38:20   作者:Amei1314  
这篇文章主要介绍了pandas 数据结构之Series的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. Series

Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。

1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会使用默认索引(从0到N-1)。

# 引入Series和DataFrame
In [16]: from pandas import Series,DataFrame
In [17]: import pandas as pd

In [18]: ser1 = Series([1,2,3,4])

In [19]: ser1
Out[19]: 
0  1
1  2
2  3
3  4
dtype: int64

1.2 当要生成一个指定索引的Series 时候,可以这样:  

# 给index指定一个list
In [23]: ser2 = Series(range(4),index = ["a","b","c","d"])

In [24]: ser2
Out[24]: 
a  0
b  1
c  2
d  3
dtype: int64

1.3 也可以通过字典来创建Series对象

In [45]: sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}

In [46]: ser3 = Series(sdata)
# 可以发现,用字典创建的Series是按index有序的
In [47]: ser3
Out[47]: 
Ohio   35000
Oregon  16000
Texas   71000
Utah    5000
dtype: int64

在用字典生成Series的时候,也可以指定索引,当索引中值对应的字典中的值不存在的时候,则此索引的值标记为Missing,NA,并且可以通过函数(pandas.isnull,pandas.notnull)来确定哪些索引对应的值是没有的。 

In [48]: states = ['California', 'Ohio', 'Oregon', 'Texas']

In [49]: ser3 = Series(sdata,index = states)

In [50]: ser3
Out[50]: 
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
dtype: float64
# 判断哪些值为空
In [51]: pd.isnull(ser3)
Out[51]: 
California   True
Ohio     False
Oregon    False
Texas     False
dtype: bool

In [52]: pd.notnull(ser3)
Out[52]: 
California  False
Ohio      True
Oregon     True
Texas     True
dtype: bool

1.4 访问Series中的元素和索引:

# 访问索引为"a"的元素
In [25]: ser2["a"]
Out[25]: 0
# 访问索引为"a","c"的元素
In [26]: ser2[["a","c"]]
Out[26]: 
a  0
c  2
dtype: int64
# 获取所有的值
In [27]: ser2.values
Out[27]: array([0, 1, 2, 3])
# 获取所有的索引
In [28]: ser2.index
Out[28]: Index([u'a', u'b', u'c', u'd'], dtype='object')

1.5 简单运算

在pandas的Series中,会保留NumPy的数组操作(用布尔数组过滤数据,标量乘法,以及使用数学函数),并同时保持引用的使用

In [34]: ser2[ser2 > 2]
Out[34]: 
a  64
d   3
dtype: int64

In [35]: ser2 * 2
Out[35]: 
a  128
b   2
c   4
d   6
dtype: int64

In [36]: np.exp(ser2)
Out[36]: 
a  6.235149e+27
b  2.718282e+00
c  7.389056e+00
d  2.008554e+01
dtype: float64

1.6 Series的自动对齐

Series的一个重要功能就是自动对齐(不明觉厉),看看例子就明白了。 差不多就是不同Series对象运算的时候根据其索引进行匹配计算。

# ser3 的内容
In [60]: ser3
Out[60]: 
Ohio   35000
Oregon  16000
Texas   71000
Utah    5000
dtype: int64
# ser4 的内容
In [61]: ser4
Out[61]: 
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
dtype: float64
# 相同索引值的元素相加
In [62]: ser3 + ser4
Out[62]: 
California     NaN
Ohio      70000.0
Oregon     32000.0
Texas     142000.0
Utah        NaN
dtype: float64

1.7 命名

Series对象本身,以及索引都有一个 name 属性

In [64]: ser4.index.name = "state"

In [65]: ser4.name = "population"

In [66]: ser4
Out[66]: 
state
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
Name: population, dtype: float64

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • pyqt5 删除layout中的所有widget方法

    pyqt5 删除layout中的所有widget方法

    今天小编就为大家分享一篇pyqt5 删除layout中的所有widget方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python Matplotlib绘制箱型图(箱线图)boxplot的方法详解

    Python Matplotlib绘制箱型图(箱线图)boxplot的方法详解

    箱线图(箱型图)主要作用是发现数据内部整体的分布分散情况,包括上下限、各分位数、异常值等,本文为大家整理了Matplotlib绘制箱型图的所以方法,希望对大家有所帮助
    2023-05-05
  • python入门游戏之井字棋实例代码

    python入门游戏之井字棋实例代码

    python井字棋游戏虽然看上去非常简陋,但是却非常值得学习,下面这篇文章主要给大家介绍了关于python入门游戏之井字棋的相关资料,需要的朋友可以参考下
    2021-11-11
  • Python使用Networkx实现复杂的人物关系图

    Python使用Networkx实现复杂的人物关系图

    日常工作、生活中我们经常会遇到一些复杂的事务关系,比如人物关系,那如何才能清楚直观的看清楚这些任务关系呢?所以小编给大家介绍了Python如何使用Networkx实现复杂的人物关系图,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2023-11-11
  • Python 实现微信防撤回功能

    Python 实现微信防撤回功能

    在微信上突然看到“XXX撤回一条消息”的时候,心里痒不痒?现在就教你如何使用python实现消息防撤回的功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2019-04-04
  • Python入门教程(四十三)Python的NumPy数据类型

    Python入门教程(四十三)Python的NumPy数据类型

    这篇文章主要介绍了Python入门教程(四十二)Python的NumPy数组裁切,NumPy有一些额外的数据类型,并通过一个字符引用数据类型,例如 i 代表整数,u 代表无符号整数等,需要的朋友可以参考下
    2023-05-05
  • Pandas数据结构中Series属性详解

    Pandas数据结构中Series属性详解

    本文主要介绍了Pandas数据结构中Series属性详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • python/Matplotlib绘制复变函数图像教程

    python/Matplotlib绘制复变函数图像教程

    今天小编就为大家分享一篇python/Matplotlib绘制复变函数图像教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python面向对象入门教程之从代码复用开始(一)

    python面向对象入门教程之从代码复用开始(一)

    这篇文章主要给大家介绍了关于python面向对象入门教程之从代码复用开始的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们来一起看看吧
    2018-12-12
  • Python如何使用pymongo连接MongoDB数据库并进行相关操作

    Python如何使用pymongo连接MongoDB数据库并进行相关操作

    PyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成,下面这篇文章主要给大家介绍了关于Python如何使用pymongo连接MongoDB数据库并进行相关操作的相关资料,需要的朋友可以参考下
    2023-05-05

最新评论