之前写过一篇【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读数据了!