之前写过一篇【Python_017】sql语法在pandas中的实现 但总觉得dataframe用来定位特别麻烦,不如sql简单易读。 直到发现pd.query!!基本上四舍五入和sql的where非常接近了!
以一个简单df举例
import pandas
as pd
df
= pd
.DataFrame
({'A':[1,2,3],'B':[4,5,6],'C':['aaa','bbb','bbb']})
df
.query
("C=='bbb'")
'''
A B C
1 2 5 bbb
2 3 6 bbb
'''
df
.query
("B>=5")
'''
A B C
1 2 5 bbb
2 3 6 bbb
'''
df
.query
("[2,3] in A")
'''
A B C
1 2 5 bbb
2 3 6 bbb
'''
df
.query
("A<B")
'''
A B C
0 1 4 aaa
1 2 5 bbb
2 3 6 bbb
'''
df
.query
("A==1 & B==4")
'''
A B C
0 1 4 aaa
'''
太简洁了!get到新方法后再也不排斥拿py读数据了!