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

每日10行代码163:认识pandas中的series数据结构3,第1张

接上一章
Series中有一种自动对齐索引的特性,这也是一种很有用的特性。

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

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

In [34]: obj3+obj4
Out[34]:
California         NaN
Ohio           70000.0
Oregon        320000.0
Texas         142000.0
Utah               NaN
dtype: float64

上面两个数组的相加,会转化成相同索引位置地值相加,如果一方没有就置为空,这个 *** 作如果在数据库里 *** 作的话相当于两张表做一个连接 *** 作,再选取某些值相加。

Series对象自身和索引都有name属性

In [35]: obj4.name = 'population'

In [36]: obj4.index.name='satate'

In [37]: obj4
Out[37]:
satate
California         NaN
Ohio           35000.0
Oregon        160000.0
Texas          71000.0
Name: population, dtype: float64

但是值却没有name属性,可能因为有了Series的name和index的name已经够了,不用再添加别的属性了。

Series的索引可以直接重新赋值。

In [48]: obj
Out[48]:
1    4
2    7
3   -5
4    3
dtype: int64

In [52]: obj.index=['Bob','Steve','Jeff','Ryan']

In [53]: obj
Out[53]:
Bob      4
Steve    7
Jeff    -5
Ryan     3
dtype: int64

Series对象的元素赋值 :

In [54]: obj[0]=3

In [55]: obj
Out[55]:
Bob      3
Steve    7
Jeff    -5
Ryan     3
dtype: int64

In [56]: obj['Jack']=8

In [57]: obj
Out[57]:
Bob      3
Steve    7
Jeff    -5
Ryan     3
Jack     8
dtype: int64

In [58]: obj['july']='5'

In [59]: obj
Out[59]:
Bob       3
Steve     7
Jeff     -5
Ryan      3
Jack      8
july      5
dtype: object

In [60]: obj['july']='fany'

In [61]: obj
Out[61]:
Bob         3
Steve       7
Jeff       -5
Ryan        3
Jack        8
july     fany
dtype: object

注意上面的代码,赋予不同类型的值会改变dtype

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/796523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存