see https://docs.mongodb.org/manual/meta/aggregation-quick-reference/#aggregation-expressions
Arithmetic Expressions -> OK -> OK
Mongo | Pandas |
---|---|
$and | np.logical_and |
$or | np.logical_or |
$not | np.logical_not |
$cmp | combine of np.logical_not / == / < |
$eq/$gt/$gte/$lte | Series.eq/gt/lte/gte |
$add/$div/.. | Series.add |
$concat | Series.str.cat |
$lower | Series.str.lower |
other string op |
row level operation
{ $project : { title : 1 , grade2 : {"$gt" : ["$grade", 1]}}}
df = df[:, ['title', 'grade']]
df['grade2'] = df['grade'] > 1
{ $project :
{ title : 1,
isAdultMale : {
$and : [{"$gt" : ["$age", "$age2"]}, {$eq : ["$sex" : "M"]}]
}
}
}
s = df[:, ['title', 'age', 'sex']]
s['isAdultMale'] = np.logical_and((s['age'] > s['age2']), (s['sex'] == "M"))
del s['age']
del s['sex']
if condition