数据的简单处理——pandas模块——选择数据

要对读取的数据进行编辑,需要先学会选择数据的操作,如果选择行数据、列数据或者同时选择行列数据。

python 复制代码
##############################
##作者:白雪公主的后妈
##时间:2024年12月29日
##主题:数据的简单处理------pandas模块------选择数据
##############################
'''
要对读取的数据进行编辑,需要先学会选择数据的操作,如果选择行数据、列数据或者同时选择行列数据。
'''
#1、选择行数据        可以读取单行数据,也可以读取多行数据,还可以按照指定的条件选择行数据
import pandas as pd
date=pd.read_excel("E:\\python\\Python_Code\\Excel\\订单表.xlsx",sheet_name=1,index_col=0)
print(date)
#1.1选择单行数据      使用loc方法可以依据行标签选择单行数据
print(date.loc["d001"])
'''
运行结果:
       产品  数量    金额
订单编号               
d001  投影仪  5台  2000
d002  马克笔  5盒   300
d003  打印机  1台   298
d004  点钞机  1台   349
d005  复印纸  2箱   100
d006  条码纸  6卷    34

产品     投影仪
数量      5台
金额    2000
Name: d001, dtype: object
'''
#########使用iloc方法可以一句行序号(从0开始技计数)选择单行数据。
print(date.iloc[2])
'''
运行结果:
产品    打印机
数量     1台
金额    298
Name: d003, dtype: object
'''
#1.2选择多行数据      使用loc或者iloc除了选择单行外可以选择多行
print(date.loc[["d001","d003"]])
'''
运行结果:
       产品  数量    金额
订单编号               
d001  投影仪  5台  2000
d003  打印机  1台   298
'''
print(date.iloc[[1,4]])
'''
运行结果:
       产品  数量   金额
订单编号              
d002  马克笔  5盒  300
d005  复印纸  2箱  100
'''
#1.3选择满足条件的行
a=date["金额"]<300
print(date[a])
'''
      产品  数量   金额
订单编号              
d003  打印机  1台  298
d005  复印纸  2箱  100
d006  条码纸  6卷   34
'''
#2、选择列数据    第一种方法使用指定标签列读取,第二种方法使用iloc方法实现
import pandas as pd
date=pd.read_excel("E:\\python\\Python_Code\\Excel\\订单表.xlsx",sheet_name=1,index_col=0)
print(date)
#2.1选择单列数据      使用指定标签列读取
print(date["产品"])
'''
运行结果:
       产品  数量    金额
订单编号
d001  投影仪  5台  2000
d002  马克笔  5盒   300
d003  打印机  1台   298
d004  点钞机  1台   349
d005  复印纸  2箱   100
d006  条码纸  6卷    34

订单编号
d001    投影仪
d002    马克笔
d003    打印机
d004    点钞机
d005    复印纸
d006    条码纸
Name: 产品, dtype: object
'''
#1.2选择多行数据      使用标签列读取,除了选择单列外可以选择多列
print(date[["产品","数量"]])
'''
       产品  数量
订单编号         
d001  投影仪  5台
d002  马克笔  5盒
d003  打印机  1台
d004  点钞机  1台
d005  复印纸  2箱
d006  条码纸  6卷
'''
#############用iloc方法也可以选择多列数据
date=pd.read_excel("E:\\python\\Python_Code\\Excel\\订单表.xlsx",sheet_name=1,index_col=0)
print(date)
print(date.iloc[:,[0,2]])
'''
运行结果:
       产品    金额
订单编号           
d001  投影仪  2000
d002  马克笔   300
d003  打印机   298
d004  点钞机   349
d005  复印纸   100
d006  条码纸    34
'''
##################用iloc方法通过类似列表切片的方式实现。
print(date.iloc[:,0:2])
'''
运行结果:
       产品    金额
订单编号           
d001  投影仪  2000
d002  马克笔   300
d003  打印机   298
d004  点钞机   349
d005  复印纸   100
d006  条码纸    34
'''
#3、同时选择行列数据 可以选择loc或者iloc方式来实现
#3.1使用loc方法有行和列标签同时选择行列数据
date=pd.read_excel("E:\\python\\Python_Code\\Excel\\订单表.xlsx",sheet_name=1,index_col=0)
date1=date.loc[["d001","d005"],["产品","金额"]]
print(date1)
'''
选择行标签为"d001","d005"且列标签为"产品","金额"的数据。
运行结果:
       产品    金额
订单编号           
d001  投影仪  2000
d005  复印纸   100
'''
date2=date.iloc[[0,4],[0,2]]
print(date2)
'''
运行结果:
       产品    金额
订单编号           
d001  投影仪  2000
d005  复印纸   100
'''
相关推荐
CircleMouse21 分钟前
springboot项目中使用Java 8的日期时间API
java·开发语言·spring boot·后端·spring
Lightning-py24 分钟前
ASCII,十进制,十六进制,八进制和二进制转换表
python
AI视觉网奇27 分钟前
ue 推送直播流 推流 linux 实战
笔记·学习·ue5
Mr YiRan33 分钟前
C++语言学习之面向对象
java·c++·学习
kkkkkkkkk_120141 分钟前
【强化学习】09周博磊强化学习纲要学习笔记——第五课上
笔记·深度学习·学习·强化学习
玩c#的小杜同学44 分钟前
工业级稳定性:如何利用生产者-消费者模型(BlockingCollection)解决串口/网口高频丢包问题?
笔记·学习·性能优化·c#·软件工程
前端达人1 小时前
被JavaScript忽视的Web Animations API:为什么说它是前端动画的真正未来?
开发语言·前端·javascript·ecmascript
laplace01231 小时前
deque+yield+next语法
人工智能·笔记·python·agent·rag
一品威客网1 小时前
教育 APP 升级!跨端开发支持“多设备学习,无缝衔接”
学习