【发布时间】:2020-11-16 06:15:48
【问题描述】:
我是编程新手,被要求编写一些代码来分析 NoSQL 数据库并制作仪表板。该任务涉及生成满足特定条件的行数。
我决定扫描我的数据库,将其放入 pandas 数据框中并在其上运行 .query() 以提高可读性。我也听说过熊猫速度的好消息。但是,我需要多次重复我的代码才能获得所需的所有字段,例如:
data1=df.query("a > 0").shape[0]
data2=df.query("a > 0 & d=='yes'").shape[0]
data3=df.query("a > 0 & d=='no'").shape[0]
使用 if 语句会变得更糟。有没有一种更少重复、更干燥的方式来做到这一点?我想出的一件事是下面的伪代码中的“表达式表”。有没有办法在 python 中做类似的事情?或者更好的东西?
where a > 0 where b > 0 where c == 1
all results 3 7 5
where d=='yes' 1 3 4
where d=='no' 2 4 1
【问题讨论】:
标签: python pandas dataframe nosql expression