python数据分析之pandas(一)

Series对象

1. 声明Series对象

a.通过数组赋值

>>> import pandas as pd
>>> s = pd.Series([9,8,-1,2])
>>> s
0    9
1    8
2   -1
3    2
dtype: int64

b.设置index

>>> s = pd.Series([9,8,-1,2],index=['a', 'b', 'c', 'd'])

>>> s

a    9

b    8

c   -1

d    2

dtype: int64

c.属性

Series有2个属性,index(索引)和values(元素)

>>> s.values
array([ 9,  8, -1,  2])
>>> s.index
Index([u'a', u'b', u'c', u'd'], dtype='object')
>>> 

2. 选择内部元素

可以通过index或者下标来选择

>>> s[2]
-1
>>> s['c']
-1

更多操作如:

s[0:2]

s[['b','c']]

3. 为元素赋值

s[0] = 1

s['b'] = 1

4. 使用Numpy或其他Series对象定义新Series对象

>>> import numpy as np
>>> a = np.array([-1,2,3])
>>> b = pd.Series(a)
>>> b
0   -1
1    2
2    3
dtype: int64

其他用法如:

扫描二维码关注公众号,回复: 9449221 查看本文章

c = pd.Series(b),注意新Series对象是原对象的引用

5. 筛选元素

如:

s[s > 8]

6. Series对象运算和数学函数

支持+、-、*、/,如:

s/2

np.log(s)

7. Series对象的组成元素

s.unique()  //元素去重

s.value_counts()  //统计元素值

s.isin([0,3])  //判断是否是0/3

s[s.isin([0,3])]  //过滤出值为0/3的元素

8. NaN

当数据结构中若字段为空或者不符合数字的定义时,用这个特定的值来表示

>>> s = pd.Series([1, np.NaN])
>>> s
0    1.0
1    NaN
dtype: float64

s.isnull() // 返回boolean数组

s.notnull() 

s[s.isnull()]

9. Series用作字典

>>> d = {'a': 1, 'b': 2}
>>> s = pd.Series(d)
>>> s
a    1
b    2
dtype: int64

10. Series对象之间的运算

>>> s = pd.Series(d)
>>> s
a    1
b    2
dtype: int64
>>> s1 = pd.Series({'a':3, 'c': 4})
>>> s + s1
a    4.0
b    NaN
c    NaN
dtype: float64

注意:只对标签相同的元素求和,其他只属于任何一个Series对象的标签也被添加到新对象中,只不过他们的值均为NaN

发布了127 篇原创文章 · 获赞 10 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/u012599545/article/details/104229346