一.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', '王昭君')
若想进一步学习可以看看这个哦(DataFrame的创建):https://blog.csdn.net/m0_53088614/article/details/111028677
我的分享,整理就到这了,欢迎大家的指正