这段代码展示了我是如何在Pymongo中做到这一点的,但是如果我想在RMongo中做到这一点呢?
from pymongo import MongoClient
connection = MongoClient()
db = connection.mydb
collection = db.transactions
pipe = [{'$group': {'_id': 'TRANS_AMNT_AVG', 'average': {'$avg':'$TRANS_AMOUNT'}}}]
result = collection.aggregate(pipeline=pipe)
print(list(result))
connection.close()我的数据集名为transactions,列名为TRANS_AMOUNT。我想要计算平均TRANS_AMOUNT。
发布于 2016-12-06 09:51:46
我更喜欢使用mongolite for R to mongodb工作,实际上代码与您提供的代码非常相似
library(mongolite)
mongo <- mongo(collection = "transaction", db = "test")
## dummy data
set.seed(2016)
df <- data.frame(TRANS_AMOUNT = rnorm(10,0,1))
## insert into mongo
mongo$insert(df)
## run the aggregation query
## note I've swapped single quotes for doubles, and vice versa
pipe = '[{"$group": {"_id": "TRANS_AMNT_AVG", "average": {"$avg":"$TRANS_AMOUNT"}}}]'
mongo$aggregate(pipeline = pipe)
# Imported 1 records. Simplifying into dataframe...
# _id average
# 1 TRANS_AMNT_AVG -0.3645931https://stackoverflow.com/questions/40942817
复制相似问题