Pandas-Series
Pandas-Series
导入pandas:
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
Series
Series是一种类似与一维数组的对象,由下面两个部分组成:
- values:一组数据(ndarray类型)
- index:相关的数据索引标签
series的创建
由列表或者numpy数组创建
默认索引为0到n-1的整数型索引,也叫隐式索引
#使用列表创建Series
Series(data=[1,2,3])
Series(data=[1,2,3],index=['a','b','c']) #显式索引
#使用numpy创建Series,只能用numpy创建的一维数组才可以使用
s = Series(data=np.random.randint(0,100,size=(4,)),index=['a','b','c','d'])
series的索引和切片
可以使用中括号取单个索引(此时返回的是元素类型),
或者中括号里一个列表取多个索引(此时返回的是一个Series类型)。
1.显式索引
使用index中的元素作为索引值
使用s.loc[](推荐):注意,loc中括号中放置的一定是显示索引,此时是闭区间,左右两个值都能取到
2.隐式索引
使用整数作为索引值
使用.iloc[](推荐):iloc中的中括号中必须放置隐式索引,此时是半开区间
3.隐式索引切片和显示索引切片
显示索引切片:index和loc
series的属性和方法
可以通过shape,size,index,values等得到series的属性
s.values
s.index
可以使用s.head(),tail()分别查看前n个和后n个值
s.head(2)
s.tail(2)
对Series元素进行去重
s = Series(data=[1,1,2,2,3,3,3,4,5,6,7,7,8,9,9,9])
s.unique()
数据缺失NaN
当索引没有对应的值时,可能出现缺失数据显示NaN(not a number)的情况
使得两个Series进行相加
s1 = Series(data=[1,2,3],index=['a','b','c'])
s2 = Series(data=[1,2,3],index=['a','b','d'])
s = s1 + s2
索引相同的对应相加,不同的显示NAN
可以使用pd.isnull(),pd.notnull(),或s.isnull(),notnull()函数检测缺失数据
s.isnull()
s.notnull()
满足条件为True,不满足为False
对数据进行筛选
s[[True,True,False,False]] # 只显示True所对应的内容
s[s.notnull()]
Series的运算
add() sub() mul() div()
s1.add(s2)
索引对应的进行运算,不匹配的显示NaN