这个模块下有12个方法,主要是对数据的一个获取处理,用处会比较大。
get,loc,pop,xs比较有价值。
get(1):在Series中,可以通过索引来获取数组中指定的数组值,两个关键字:key(放置索引值),default(如果key值大于数组索引值,则返回这里的默认值,可以自定义)
list0 = ['a','b','c','d']dp = pd.Series(data=list0)print(dp.get(key=0))print(dp.get(key=10))print(dp.get(key=10,default='not fount data'))
at(2):就Series的话,在使用上和get差不多,但在Dataframe上使用就宽泛了。
list0 = ['a','b','c','d']dp = pd.Series(data=list0)print(dp.at[3])
iat(3):和at有点差异,at通过标签,iat通过数值。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.at['a1'])print(dp.iat[3])#这里使用iat会报错print(dp.iat['a1'])
loc(4):通过标签来获取对应值,这个函数的入参使用比较灵活。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.loc['a1':'d1'])
iloc(5):和loc差不多,区别是iloc是依靠数值来获取位置,一样很灵活。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.iloc[0:1])
iter(6):返回迭代值,不知道是不是会有性能上的优势,一般使用上价值不大。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.__iter__())print(dp.__iter__)
items(7):返回一个可迭代的元组,且附带index,value来获取其中的键值
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.items)for index,value in dp.items():print(f"Index : {index}, Value : {value}")
iteritems(8):和items差不多
keys(9):返回index名称
pop(10):通过索引删除Series内的元素
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.pop('a1'))print(dp)
item(11):返回第一个基础数据元素为python标量。没理解这个功能的用处是啥,有点鸡肋的感觉
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp[0:1].item())print(type(dp[0:1].item()))
xs(12):获取一个数据的截取,在Series上一些参数好像不能使用,不清楚是不是我用错了,在DataFrame上似乎效果不错。
list0 = [['a1','a2','a3'],['b1','b2','b3'],['c1','c2','c3'],['d1','d2','d3']]dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.xs('a1'))
