目录
一,Pandas查询数据的几种方法二,Pandas使用df.loc查询数据的方法df[]df.loc方法查询df.iloc方法查询总结一,Pandas查询数据的几种方法
df[]按行列选取,这种情况一次只能选取行或者列df.loc方法,根据行、列的标签值查询df.iloc方法,根据行、列的数字位置查询,根据索引定位df.query方法二,Pandas使用df.loc查询数据的方法
使用单个label值查询数据使用值列表批量查询使用数值区间进行范围查询使用条件表达式查询调用函数查询注意
以上查询方法,既适用于行,也适用于列
##########################################
【资料图】
df[]
>>> df=pd.DataFrame(np.random.rand(25).reshape([5,5]),index=["A","B","C","D","E"],columns=["c1","c2","c3","c4","c5"]) >>> df c1 c2 c3 c4 c5 A 0.499404 0.082137 0.472568 0.649200 0.121681 B 0.564688 0.102398 0.374904 0.091373 0.495510 C 0.319272 0.720225 0.979103 0.910206 0.766642 D 0.478346 0.311616 0.466326 0.045612 0.258015 E 0.421653 0.577140 0.103048 0.235219 0.550336
##########################################
#获取c1,c2两列
df[["c1","c2"]]
>>> df[["c1","c2"]] c1 c2 A 0.499404 0.082137 B 0.564688 0.102398 C 0.319272 0.720225 D 0.478346 0.311616 E 0.421653 0.577140
##########################################
#获取c1列
df.c1
>>> df.c1 A 0.499404 B 0.564688 C 0.319272 D 0.478346 E 0.421653 Name: c1, dtype: float64
##########################################
#获取索引为A-C行数据
df["A":"C"]
>>> df["A":"C"] c1 c2 c3 c4 c5 A 0.499404 0.082137 0.472568 0.649200 0.121681 B 0.564688 0.102398 0.374904 0.091373 0.495510 C 0.319272 0.720225 0.979103 0.910206 0.766642
##########################################
#获取2-3行数据
df[1:3]
>>> df[1:3] c1 c2 c3 c4 c5 B 0.564688 0.102398 0.374904 0.091373 0.495510 C 0.319272 0.720225 0.979103 0.910206 0.766642
##########################################
df.loc方法查询
1、使用数值区间进行范围查询
有点类似list的切片
>>> df.loc["A":"D",:] c1 c2 c3 c4 c5 A 0.499404 0.082137 0.472568 0.649200 0.121681 B 0.564688 0.102398 0.374904 0.091373 0.495510 C 0.319272 0.720225 0.979103 0.910206 0.766642 D 0.478346 0.311616 0.466326 0.045612 0.258015
##########################################
2、单个label值查询
类似坐标查询
>>> df.loc["A","c2"] 0.08213716245372071
##########################################
3、使用列表批量查询
>>> df.loc[["A","B","D"],["c1","c3"]] c1 c3 A 0.499404 0.472568 B 0.564688 0.374904 D 0.478346 0.466326
##########################################
4、使用条件表达式查询
>>> df.loc[df["c2"]>0.5,:] c1 c2 c3 c4 c5 C 0.319272 0.720225 0.979103 0.910206 0.766642 E 0.421653 0.577140 0.103048 0.235219 0.550336
>>> df[(df["c2"]>0.2) & (df["c3"] < 0.8)] c1 c2 c3 c4 c5 D 0.478346 0.311616 0.466326 0.045612 0.258015 E 0.421653 0.577140 0.103048 0.235219 0.550336
##########################################
5、使用函数查询
def query_my_data(df): return ((df["c3"]>0.2) & (df["c4"]<0.8)) df.loc[query_my_data, :] c1 c2 c3 c4 c5 B 0.845310 0.545040 0.946026 0.106405 0.984376 C 0.844622 0.947104 0.878854 0.377638 0.175846 E 0.139952 0.420424 0.364295 0.012773 0.307853
##########################################
df.iloc方法查询
同df.loc类似,根据索引定位
#提取2-3行,1-2列数据
df.iloc[1:3,0:2]
>>> df.iloc[1:3,0:2] c1 c2 B 0.564688 0.102398 C 0.319272 0.720225
##########################################
#提取第二第三行,第4列数据
df.iloc[[1,2],[3]]
c4 B 0.091373 C 0.910206
##########################################
#提取指定位置单个数值
df.iloc[3,4]
>>> df.iloc[3,4] 0.2580148841605816
总结
到此这篇关于如何利用Pandas查询选取数据的文章就介绍到这了,更多相关Pandas查询选取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单