美文网首页我爱编程
Python数据分析笔记-05

Python数据分析笔记-05

作者: 杨大菲 | 来源:发表于2018-02-10 00:14 被阅读0次

    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

    相关文章

      网友评论

        本文标题:Python数据分析笔记-05

        本文链接:https://www.haomeiwen.com/subject/gatctftx.html