小白学习python——pandas——01-Series

一、Series的创建

第一步:导入库 import numpy as np import pandas as pd
第二步:创建Series,有以下方法:
1、numpy的方法创建(一维数组的方法)

(1)arr = np.array([1,2,3,4,5,6,7,8,9])
	ser01 = pd.Series(arr)
	print(ser01)

运行结果:

	0    1
	1    2
	2    3
	3    4
	4    5
	5    6
	6    7
	7    8
	8    9
	dtype: int32

2、字典的方法创建

(1)dic = {'a':45, 'b':61, 'c':22, 'd':88}		#字典的key就是Series的索引
	ser01 = pd.Series(dic)
	print(ser01)

运行结果:

	a    45
	b    61
	c    22
	d    88
	dtype: int64

2、自身的方法创建

(1)ser01 = pd.Series(data = [89, 95, 83], index=['语文', '数学', '英语'])
	print(ser01)

运行结果:

	语文    89
	数学    95
	英语    83
	dtype: int64

二、Series值的获取

###Series值的获取主要有两种方式:
1、方括号+索引的方式读取对应索引的数据,有可能返回多条数据
2、方括号+下标值的方式读取对应下标值的数据,下标值的取值范围为:[0,len(Series.values));另外下标值也可以是负数,表示从右往左获取数据

###Series获取多个值的方式:
1、类似NumPy中的ndarray的切片操作,通过方括号+下标值/索引值+冒号(:)的形式来截取series对象中的一部分数据.

	ser01 = pd.Series(data = [89, 95, 83, 100, 95, 85, 84, 91], index=['语文', '数学', '英语', '历史', '政治', '生物', '物理', '化学'])
	print(ser01['语文'])
	print(ser01[0])
	print(ser01[-1])
	print(ser01[0:5])

运行结果:

	89
	89
	91
	语文     89
	数学     95
	英语     83
	历史    100
	政治     95
	dtype: int64

三、Series的运算

1、NumPy中的数组运算,在Series中都保留了,均可以使用,并且Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。
!!!注意:其实在操作Series的时候,基本上可以把Series看成NumPy中的ndarray数组来进行操作。ndarray数组的绝大多数操作都可以应用到Series上。

(1)ser01 = pd.Series({
    '2019/4/15': 6563.22,
    '2019/5/16': 5321.89,
    '2019/6/15': 6028.35,
    '2019/7/14': 5939.09
	})
	print(ser01)
	print(ser01[ser01>6000])
	print(ser01/100)

运行结果:

	2019/4/15    6563.22
	2019/5/16    5321.89
	2019/6/15    6028.35
	2019/7/14    5939.09
	dtype: float64
	2019/4/15    6563.22
	2019/6/15    6028.35
	dtype: float64
	2019/4/15    65.6322
	2019/5/16    53.2189
	2019/6/15    60.2835
	2019/7/14    59.3909
	dtype: float64

四、Series的缺失值检测

1、pandas中的isnull和notnull两个函数可以用于在Series中检测缺失值,这两个函数的返回时一个布尔类型的Series

	age = pd.Series({
	    'Tom': 26,
	    'Jim': 21,
	    'Susan': 25,
	    'Bob': 24
	})
	new_index = ['Tom','Jim','Susan','Jack','Bob']
	age = pd.Series(age, index=new_index)
	print(age)
	print(pd.isnull(age))
	print(pd.notnull(age))

运行结果:

	Tom      26.0
	Jim      21.0
	Susan    25.0
	Jack      NaN
	Bob      24.0
	dtype: float64
	Tom      False
	Jim      False
	Susan    False
	Jack      True
	Bob      False
	dtype: bool
	Tom       True
	Jim       True
	Susan     True
	Jack     False
	Bob       True
	dtype: bool

五、Series的自动对齐

1、当多个series对象之间进行运算的时候,如果不同series之间具有不同的索引值,那么运算会自动对齐不同索引值的数据,如果某个series没有某个索引值,那么最终结果会赋值为NaN。

(1)ser01 = pd.Series({
    'a' : 1,
    'b' : 2,
    'c' : 3,
    'd' : 4
	})
	ser02 = pd.Series({
	    'f' : 1,
	    'e' : 2,
	    'a' : 3,
	    'c' : 4
	})
	print(ser01+ser02)

输出结果:

	a    4.0
	b    NaN
	c    7.0
	d    NaN
	e    NaN
	f    NaN
	dtype: float64

六、Series及其索引的name属性

1、 Series对象本身以及索引都具有一个name属性,默认为空,根据需要可以进行赋值操作

(1)scores = pd.Series(data = [89, 95, 83, 100, 95, 85, 84, 91], index=['语文', '数学', '英语', '历史', '政治', '生物', '物理', '化学'])
	scores.name = u'语文'
	scores.index.name = u'考试成绩'
	print(scores)

输出结果:

	考试成绩
	语文     89
	数学     95
	英语     83
	历史    100
	政治     95
	生物     85
	物理     84
	化学     91
	Name: 语文, dtype: int64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值