0
点赞
收藏
分享

微信扫一扫

每日10行代码162:认识pandas中的series数据结构2

流计算Alink 2022-05-02 阅读 26

接上一章
在series中可以实现像Numpy的函数或Numpy风格的操作,比如:

In [19]: obj2>0
Out[19]:
d     True
b     True
a    False
c     True
dtype: bool

In [20]: obj2[obj2>0]
Out[20]:
d    4
b    7
c    3
dtype: int64

把Series直接与常数比较 ,用布尔值数组进行过滤

In [21]: obj2*2
Out[21]:
d     8
b    14
a   -10
c     6
dtype: int64

In [22]: import numpy as np

In [23]: np.exp(obj2)
Out[23]:
d      54.598150
b    1096.633158
a       0.006738
c      20.085537
dtype: float64

也可以进行一定数学运算。

从另一个角度看Series,它更像是一个长度固定且有序的字典,对字典的一些操作对它也有效,需要使用字典时,也可以使用它。

In [24]: 'b' in obj2
Out[24]: True

In [25]: 'f' in obj2
Out[25]: False

也可以用字典来生成Series对象

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

In [27]: obj3 = pd.Series(sdata)

In [28]: obj3
Out[28]:
Ohio       35000
Texas      71000
Oregon    160000
Utah        5000
dtype: int64

当把字典传给Series的构造函数时,字典的键会成为Series的索引。字典是没顺序的,但生成Series时会按某种顺序生成数据 。

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

In [30]: obj4 = pd.Series(sdata, index=states)

In [31]: obj4
Out[31]:
California         NaN
Ohio           35000.0
Oregon        160000.0
Texas          71000.0
dtype: float64
举报

相关推荐

0 条评论