意外的关键字参数“管道”

2024-09-27 00:19:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将以下查询存储到数据帧中

db = conn["daune_leasing"]
collection = db["clienti_daune"]
pipeline=[{'$group':{
    "_id": {'MARCA': '$MARCA', "MODEL": "$MODEL"},
    "VENIT_ANUAL": {'$sum': '$VENIT_ANUAL'},
    "DAUNA": {'$COUNT': '$DAUNA'},
    "VALOARE_DAUNA": {'$sum': '$VALOARE_DAUNA'},
}},
    {"$sort": {"_id": 1}}]


cursor = collection.find({"AN_FABRICATIE": {'$lt': 2010,'$gt': 2012},
        "VALOARE_DAUNA": {'$gt': 30000}}, pipeline=pipeline)

df  = pd.DataFrame.from_dict(list(cursor))
cursor.close()

pprint(df)

df_plot=df.loc[(df['DAUNA']>100)]
df_plot.bar(x='_id', y='DAUNA',rot=0)
plt.xlabel("MODEL")
plt.ylabel("DAUNA")
plt.show();

我收到以下错误

cursor = collection.find({"AN_FABRICATIE": {'$lt': 2010,'$gt': 2012},
  File "C:\Users\andre\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pymongo\collection.py", line 1523, in find
    return Cursor(self, *args, **kwargs)
TypeError: __init__()

 got an unexpected keyword argument 'pipeline'

Tags: gtiddfdbmodelpipelinepltfind
1条回答
网友
1楼 · 发布于 2024-09-27 00:19:24

这样做:

pipeline = [
    {
        "$match" : {
            "AN_FABRICATIE" : {
                "$lt" : 2010,
                "$gt" : 2012
            },
            "VALOARE_DAUNA" : {
                "$gt" : 30000
            }
        }
    },
    {
        "$group" : {
            "_id" : {
                "MARCA" : "$MARCA",
                "MODEL" : "$MODEL"
            },
            "VENIT_ANUAL" : {
                "$sum" : "$VENIT_ANUAL"
            },
            "DAUNA" : {
                "$COUNT" : "$DAUNA"
            },
            "VALOARE_DAUNA" : {
                "$sum" : "$VALOARE_DAUNA"
            }
        }
    },
    {
        "$sort" : {
            "_id" : 1
        }
    }
]


cursor = collection.aggregate(pipeline)

相关问题 更多 >

    热门问题