0
私は非常にPythonを学んでいます - これはあなたにとって非常に簡単な質問かもしれません。 しかし、ブラウジング中に解決策が見つかりませんでしたので、ここで助けを探しています;)Pymongoプロジェクトのパーセンテージを計算してdevideを返すなし
条件> = 5の行の割合の割合を取得したいとします。
- 最初のクエリが成功第一方は正常合計(例えば2000)を返す(例えば400)
- 条件に合致する行数を返します。
- 第三1($プロジェクト)は、常に私は本当に任意の助けをいただければ幸いです
予想通り「なし」の代わりに、0.2を返しません。 ありがとう! Condition >= 5
行をカウントする
def get_percentage(collection):
coll = collection.aggregate([
#get No of rows with Condition>=5
{"$match": { "Condition": {"$gte":5} }},
{"$group": {"_id": 0, "count": {"$sum":1}}}
,
#get total No of rows
{"$group": {"_id": 0, "total": {"$sum":1}}}
,
#get percentage: count/total
{"$project" : {"percentage" : {"$divide" : ["$count","$total"]}}}
])
for dot in coll:
print(dot['percentage'])
percentage = dot['percentage']
return percentage
これは機能します。 ありがとうございました:) しかし、私はまだ "なぜ"を理解していません - なぜ私のコードは結果を返さなかったのですか? – Paley
@ペリー私はそれが助けてうれしいです。この答えを受け入れるには、チェックマークをチェックしてください。 – gzc
@ Paley各ステップの出力を印刷することをお勧めします。 – gzc