pandas表格查询操作
2026/5/6 5:29:26 网站建设 项目流程

Pandas的查询操作

pandas查询特定范围有四种方式:

  • 直接索引:列只支持列表形式,不支持切片;行只支持切片形式,不支持列表形式。可以通过链式查询获取特定范围(可以先查询行,也可以先查询列df[行索引1:行索引5][[列索引1,列索引3,列索引5]]
  • 单列查询:df.列名,这种形式,列名直接写名称,不用加双引号写成字符串,且df.列名这种形式支持单列查询,不支持多列和行查询。
  • loc[]:通过列和行的标签查询。先查询行,再查询列。列和行都支持切片和列表查询。
# 写法1df.loc[行标签1:行标签5,列标签1:列标签5]# 写法2df.loc[[行标签1,行标签5],[列标签1,列标签3,列标签5]]# 注意:loc[]是属性(用方括号),不是函数(不能用圆括号)
  • iloc[]:通过列和行的索引查询。先查询行,再查询列。列和行都支持切片和列表查询。
# 写法1df.iloc[行索引1:行索引5,列索引1:列索引5]# 写法2df.iloc[[行索引1,行索引5],[列索引1,列索引3,列索引5]]# 注意:iloc[]是属性(用方括号),不是函数(不能用圆括号)
操作类型直接索引[].loc[].iloc[]
选择单列df['A']df.loc[:, 'A']df.iloc[:, 0]
选择多列(列表)df[['A','B']]df.loc[:, ['A','B']]df.iloc[:, [0,1]]
列切片(连续)❌ 不支持df.loc[:, 'A':'C']df.iloc[:, 0:3]
选择单行❌ 不支持df.loc['a']df.iloc[0]
选择多行(列表)❌ 不支持df.loc[['a','c']]df.iloc[[0,2]]
行切片(连续)df['a':'c']df.loc['a':'c']df.iloc[0:3]
同时选行列(标量)❌ 不支持df.loc['a','A']df.iloc[0,0]
同时选行列(切片/列表)❌ 不支持df.loc['a':'c', 'A':'C']df.iloc[0:3, 0:3]
布尔索引(行筛选)df[df['A']>0]df.loc[df['A']>0]❌ 不支持
布尔索引+指定列⚠️ 链式索引df.loc[df['A']>0, 'B']❌ 不支持
负索引(从末尾)❌ 不支持❌ 不支持df.iloc[-3:, -2:]
步长切片❌ 不支持⚠️ 部分支持df.iloc[0:5:2, 0:3:1]

布尔查询

df[df['列']>]# 条件筛选行df[(df['列1']>1)&(df['列2']==2)]# 多条件df[df['列'].isin([1,2])]# isin条件
importarcpyimportpandasaspd path=r"C:\Users\ZZQ\Desktop\待整理\行政区划数据(淘宝)\全国行政区划\84坐标行政区划\行政区划.gdb\市级行政区划"witharcpy.da.SearchCursor(path,["省","市","类型"])ascursor:data=pd.DataFrame(cursor,columns=["省","市","类型"])data=data[data["省"].isin(["江苏省","山东省"])]data

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询