1.series对象的声明
调用series()函数,把要存放在series对象中的数据以数组形式传入
1)不定义索引值,需要注意Series的S需要大写
>>> s=py.Series([1,2,3])
>>> s
0 1
1 2
2 3
dtype: int64
2)自定义索引值:可以通过index选项进行指定索引值
>>> s2=pd.Series([1,2,3],index=['a','b','c'])
>>> s2
a 1
b 2
c 3
dtype: int64
以下也支持索引是数字格式
>>> import pandas as pd
>>> s3=pd.Series([2,2,2],index=[1,3,5])
>>> s3
1 2
3 2
5 2
dtype: int64
2.查看Series类型对象的两个数组
1)查看元素
2)查看索引
>>> import pandas as pd
>>> S=pd.Series([12,13,14])
>>> s
0 1
1 2
2 3
dtype: int64
>>> s.values
array([1, 2, 3], dtype=int64)
>>> s.index
RangeIndex(start=0, stop=3, step=1)
>>>
>>> import pandas as pd
>>> S2=pd.Series([12,13,14],index=['a','b','c'])
>>> S2
a 12
b 13
c 14
dtype: int64
>>> S2.index
Index(['a', 'b', 'c'], dtype='object')
>>> S2.values
array([12, 13, 14], dtype=int64)
3.选择Series对象的内部元素
1)选择某个单个元素
2)选择某个区间索引内的元素
3)选择多个索引对应的元素
>>> import pandas as pd
>>> s=pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
>>> s
a 1
b 2
c 3
d 4
e 5
f 6
dtype: int64
>>> s[2]
3
>>> s['c']#利用数字索引和自定义索引都可以找到对应元素值
3
>>> s[0:3]#利用数字索引的切片获取切片元素值
a 1
b 2
c 3
dtype: int64
>>> s['a':'b']#利用自定义索引的切片获取切片元素值,应该顺应自定义索引的顺序
a 1
b 2
dtype: int64
>>> s[['a','e']]#利用元组将多个不连续索引承载在一起作为元素,获取多个索引值的元素
a 1
e 5
dtype: int64
>>> s['c':'a']
Series([], dtype: int64)
4.为Series中索引位置赋值从而改变元Series对象
1)利用自定义索引进行赋值
>>> import pandas as pd
>>> s=pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
>>> s
a 1
b 2
c 3
d 4
e 5
f 6
dtype: int64
>>> s['b']=9
>>> s
a 1
b 9
c 3
d 4
e 5
f 6
dtype: int64
2)利用数字天然索引进行赋值
>>> import pandas as pd
>>> s=pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
>>> s
a 1
b 2
c 3
d 4
e 5
f 6
dtype: int64
>>> s[1]=9
>>> s
a 1
b 9
c 3
d 4
e 5
f 6
dtype: int64
5.利用numpy数组或其他series对象定义新的series对象
1)利用numpy数组定义新的series对象
2)利用其他series对象定义新的series对象
3)以上定义方式是对原numpy数组或其他原series对象的引用不是副本,改变原numpy或者改变原series,利用他们生成的新series也会跟着改变
>>> import numpy as np
>>> import pandas as pd
>>> arr=np.array([1,2,3,4,5])#定义一个array数组
>>> arr
array([1, 2, 3, 4, 5])
>>> s=pd.Series(arr)#利用arr这个numpy数组去定义s这个Series对象,使用默认数字索引
>>> s
0 1
1 2
2 3
3 4
4 5
dtype: int32
>>> s2=pd.Series(arr,index=['a','b','c','d','e'])#利用arr这个numpy数组去定义s这个Series对象,使用自定义索引
>>> s2
a 1
b 2
c 3
d 4
e 5
dtype: int32
>>> s3=pd.Series([6,3,5,7,3])#定义一个Series对象s3
>>> s3
0 6
1 3
2 5
3 7
4 3
dtype: int64
>>> s4=pd.Series(s3)#利用s3去定义s4
>>> s4
0 6
1 3
2 5
3 7
4 3
dtype: int64
>>> s5=pd.Series(s3,index=['a','b','c','d','e'])
>>> s5
a NaN
b NaN
c NaN
d NaN
e NaN
dtype: float64
>>> arr[1]=9#改变numpy数字arr的1号索引的值
>>> arr
array([1, 9, 3, 4, 5])
>>> s #s也会变
0 1
1 9
2 3
3 4
4 5
dtype: int32
>>> s3[1]=9#改变s3这个Series对象的1号索引的值
>>> s3
0 6
1 9
2 5
3 7
4 3
dtype: int64
>>> s4#s4也会变
0 6
1 9
2 5
3 7
4 3
dtype: int64
6.筛选元素
>>> import pandas as pd
>>> s=s.Series([1,2,3,4,5,6,7,8,9])
Traceback (most recent call last):
File "", line 1, in
File "D:\python\3.5.1\lib\site-packages\pandas\core\generic.py", line 3614, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'Series'
>>> s=pd.Series([1,2,3,4,5,6,7,8,9])
>>> s
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
>>> s[s>3]
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
7.Series对象运算和数学函数
>>> import pandas as pd
>>> s=pd.Series([1,2,3,4,5,6])
>>> s
0 1
1 2
2 3
3 4
4 5
5 6
dtype: int64
>>> s/2
0 0.5
1 1.0
2 1.5
3 2.0
4 2.5
5 3.0
dtype: float64
>>> import numpy as np
>>> np.log(s)
0 0.000000
1 0.693147
2 1.098612
3 1.386294
4 1.609438
5 1.791759
dtype: float64
网友评论