query函数python,python中的query啥意思
本文带你谈谈使用一个Python熊猫库的小技巧,并介绍使用query()的优雅查询方法,希望对你有所帮助!
对于熊猫根据条件获取指定的数据,相信大家都能轻松的写出相应的代码,但是如果你还没有使用过query,相信你会对它的简单性印象深刻!
00-1010首先创建一个数据帧。
进口熊猫作为pd
df=pd。数据帧(
{A: [e , d , c , b , a],
B: [f , b , c , d , e],
C:范围(0,10,2),
D:范围(10,0,-2),
E.e 3360 range (10,5,-1)})我们现在选择A列字母出现在B列.的所有行来看两种常见的书写方式。
df[df[A]。isin(df[B])]
a B C D E E E
0 e f 0 10 10
1 d b 2 8 9
2 c c 4 6 8
3 b d 6 4 7
df.loc[df[A]。isin(df[B])]
a B C D E E E
0 e f 0 10 10
1 d b 2 8 9
2 c c 4 6 8
3d6 47以下是使用query()实现的。
df . query(“B中的A”)
a B C D E E E
0 e f 0 10 10
1 d b 2 8 9
2 c c 4 6 8
3D647你可以看到使用query后的代码简洁易懂,占用内存也更少。
多条件查询
选择A列字母出现在B列,并且C列小于D列.的所有行
df . query(“B中的A和C中的D”)
a B C D E E E
0 e f 0 10 10
1 d b 2 8 9
C2c468在这里也可以用。
引用变量
还可以在表达式中使用外部定义的变量,在变量名前用@标记。
数字=5
df.query(A in B C @number )
a B C D E E E
索引选取
选择A列字母出现在B列,并且索引大于2.的所有行
df . query( B中的A和索引2 )
a B C D E E E
多索引选取
创建两级索引数据框架。
将numpy作为np导入
颜色=[黄色]*3 [红色]*2
rank=[str(i) for i in range(5)]
索引=pd。multi index . from _ arrays([颜色,等级],名称=[颜色,等级])
df=pd。DataFrame(np.arange(10))。shape(5,2),columns=[A , B],index=index)
df=pd。DataFrame(np.arange(10))。shape(5,2),columns=[A , B],index=index)
df
有
颜色等级
黄色0 0 1
1 2 3
2 4 5
红色3 6 7
8 91.当有带名称的多级索引时,直接按索引名称选择。
df.query(color==red )
有
颜色等级
红色3 6 7
4 92.当有多个未知索引时,按索引级别选择它们。
df . index . names=[无,无]
df.query(ilevel_0==red )
有
红色3 6 7
4 8 9
df.query(ilevel_1==4 )
有
红色489特殊字符
对于其他特殊符号,如列名中间的空格或运算符,需要使用反引号```。
df.query(A==B (C 2 `E.E `) )
a B C D E E E
2 c c 4 6 8
3 b d 6 4 7
4E826总的来说,query()的用法比较简单,可以快速使用,代码的可读性也提高了很多。
【相关推荐:Python3视频教程】以上是一篇关于如何在Python中使用query()进行优雅查询的文章的详细内容。更多信息请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。