python:series详解和数据获取

.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
我的分享,整理就到这了,欢迎大家的指正

  • 23
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈鸣coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值