pandas的query函数,python pandas query
本文主要介绍了一个使用query()对Pandas进行优雅查询的例子,通过示例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
00-1010一般用法多条件查询是指可变索引选择多索引选择特殊字符对于熊猫根据条件获取指定数据,相信大家都能轻松写出相应的代码,但是如果你还没有用过query,相信你会对它的简单性印象深刻!
目录
首先创建一个数据帧。
进口熊猫作为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:范围(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
3 b d 6 4 7
使用下面的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
3 b d 6 4 7
可以看到使用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
2 c c 4 6 8
也可以在这里表达。
多条件查询
还可以在表达式中使用外部定义的变量,在变量名前用@标记。
数字=5
df.query(A in B C @number )
a B C D E E E
3 b d 6 4 7
引用变量
选择A列中的字母出现在B列中并且索引大于2的所有行。
df . query( B中的A和索引2 )
a B C D E E E
3 b d 6 4 7
索引选取
创建两级索引数据框架。
将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
4 8 9
1.当有带名称的多级索引时,直接按索引名称选择。
df.query(color==red )
有
颜色等级
红色3 6 7
4 8 9
2.当有多层未知索引时,按索引级别选择它们。
df . index . names=[无,无]
df.query(ilevel_0==red )
有
红色3 6 7
4 8 9
df.query(ilevel_1==4 )
有
红色4 8 9
多索引选取
对于其他特殊符号,如列名中间的空格或运算符,需要使用反引号```。
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
第四季第八集第二集第六集
总的来说,query()使用简单,可以快速使用,代码的可读性提高很多。
关于Pandas使用query()的优雅查询示例的文章到此结束。更多相关查询内容,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。