接上一章
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



