一.series详解(属性和方法):
表格数据的每一行或每一列的数据结构都是series,可以将它看成一维的表格数据。可以属于DataFrame的一部分也可以作为一个单独的数据结构存在。我们可以用values,index,items等Series的属性来获取各个部分的值。
from pandas import Series emp=['001','002','003','004','005','006'] name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君'] series = Series(data=name,index=emp) # 获取数据的值 print(series.values) # 获取索引的值 print(series.index.tolist()) # 获取每对索引和值 print(list(series.items()))
运行结果如图
['亚瑟' '后裔' '小乔' '哪吒' '虞姬' '王昭君'] ['001', '002', '003', '004', '005', '006'] [('001', '亚瑟'), ('002', '后裔'), ('003', '小乔'), ('004', '哪吒'), ('005', '虞姬'), ('006', '王昭君')]
values、index、items返回的对象分别是List、Index、Zip类型的数据,为了方便我们使用和观察数据,可以使用series.index.tolist()和list(series.items())方法转化成List类型。
Series就像将索引值暴露在外面的List,其实它们除了外表相似以外,在获取数据方面也非常的相似。我们可以通过索引值来进行单个数据的访问,同样也支持切片选择多个数据
from pandas import Series emp=['001','002','003','004','005','006'] name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君'] series = Series(data=name,index=emp) # 使用索引值获取单个数据 print(series['001']) # 使用索引值获取多个不连续的数据 print('索引下标',series[['002','004']]) # 使用切片获取连续的数据 print('索引切片',series['001':'004'])
亚瑟 索引下标 002 后裔 004 哪吒 dtype: object 索引切片 001 亚瑟 002 后裔 003 小乔 004 哪吒 dtype: object
经过我的摸索,大概就是这下面这几种方式好用
import pandas as pd dict={ ‘name’:[‘xiaom’,‘xiaon’,‘xiaol’,‘xiaoo’], ‘age’:[‘12’,‘321’,‘123’,‘123’], ‘weight’:[‘67’,‘62’,‘61’,‘63’] } df=pd.DataFrame(data=dict,index=[‘001’,‘002’,‘003’,‘004’]) print(df[1:3][[‘name’,‘age’]])#好用,df[]不能用标签索引 print(df.loc[[‘001’,‘003’,‘002’],[‘name’,‘age’]])#自己想取那个值就取那个 print(df.loc[‘001’:‘002’])#取序列号 print(df) iloc[]坐标位置 print(df.iloc[:,2])#取列 print(df.iloc[1])#取行 print(df.iloc[[0,],:])#二维里面是取行数,冒号后面为列的个数,为间断的多行; print(df.iloc[0:3])#0,1,2,3,
#两个维度要[[]],取某一列的值,只是用一个[]
都可以去运行试一试,只有尝试才可发现其中奥秘!
和Python其它数据结构类似,我们可以很方便的利用循环来遍历Series。我们可以直接遍历Series的值
from pandas import Series emp=['001','002','003','004','005','006'] name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君'] series = Series(data=name,index=emp) print(series) for value in series.keys():# 遍历并拿到index数据 print(value) for value in series:#拿到name的值 print(value) for value in series.items():# 遍历并拿到每对索引和数据 print(value)
效果如图
001 亚瑟 002 后裔 003 小乔 004 哪吒 005 虞姬 006 王昭君 dtype: object 001 002 003 004 005 006 亚瑟 后裔 小乔 哪吒 虞姬 王昭君 ('001', '亚瑟') ('002', '后裔') ('003', '小乔') ('004', '哪吒') ('005', '虞姬') ('006', '王昭君')