2016-12-03 4 views
1

Этот код показывает, как я делаю это в Pymongo, но что, если я захочу сделать это в RMongo?Как рассчитать среднее значение столбчатой ​​колонки с помощью 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.

ответ

0

Я предпочитаю использовать mongolite для R в 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.3645931 

 Смежные вопросы

  • Нет связанных вопросов^_^