小编use*_*890的帖子

如何在MongoDB中对每个组内max对应的文档进行分组和选择?

这是我的 mongo 收藏“销售”:

{"title":"Foo", "hash": 17, "num_sold": 49, 
"place": "ABC"}

{"title":"Bar", "hash": 18, "num_sold": 55, 
"place": "CDF"}

{"title":"Baz", "hash": 17, "num_sold": 55,
"place": "JKN"}

{"title":"Spam", "hash": 17, "num_sold": 20,
"place": "ZSD"}

{"title":"Eggs", "hash": 18, "num_sold": 20, 
"place": "ZDF"}
Run Code Online (Sandbox Code Playgroud)

我想按哈希分组并返回具有最大“num_sold”的文档。所以作为输出我想看到:

{"title":"Baz", "hash": 17, "num_sold": 55,
    "place": "JKN"}

 {"title":"Bar", "hash": 18, "num_sold": 55, 
    "place": "CDF"}
Run Code Online (Sandbox Code Playgroud)

我知道聚合运算符的基础知识,这是我如何分组并获取 num_sold 最大值的方法,但我需要与最大值相对应的整个文档,而不仅仅是值。

db.getCollection('sales').aggregate([
{$group: {_id: "$hash", max_sold : {$max: '$value'}}}
])
Run Code Online (Sandbox Code Playgroud)

在 SQL 中我会用 join 来完成,但在 mongo 中。我还读到,在 mongo 中,组和排序不能很好地协同工作。

sorting max mongodb aggregation-framework

5
推荐指数
1
解决办法
3531
查看次数

SQL和表之间的SQL连续两个点

有人能告诉我下面两个连续点的确切含义吗?

SELECT O.uid
FROM QAI..sysobjects O
Run Code Online (Sandbox Code Playgroud)

这适用于SQL-Server.

sql sql-server

4
推荐指数
1
解决办法
466
查看次数

Pandas交叉表,但是来自第三列聚合的值

这是我的问题:

df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] ,
                   'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] ,
                   'C': [1, 0, 0, 1,0 ]})
Run Code Online (Sandbox Code Playgroud)

我想生成类似pd.crosstab函数输出的东西,但是列和行的交集上的值应该来自第三列的聚合:

    Ar,  Br, Cr
one 0.5 0  0
two 1  0  0
Run Code Online (Sandbox Code Playgroud)

例如,在'C'列中有两个'one'和'Ar'对应值的情况是1,0我们将列'C'(0 + 1)中的值相加并除以'C'列中的值的数量',所以我们得到(0 + 1)/ 2 = 0.5.每当组合不存在时,我们(如'Cr'和'one')我们将它设置为零.有什么想法吗?

python aggregate pandas

4
推荐指数
2
解决办法
5416
查看次数

Pandas在两列中操纵字符串

这是我的数据帧:

           A                B
0   asdf|afsdf|fasd    sdsd|wer|wer
1   sdfsdf             sdfsdff
2   sdf|s              sdfsde|sdf
Run Code Online (Sandbox Code Playgroud)

我想形成一个列C,其中包含从列A到列的连接值, B直到第一个|,如果|不存在,那么它将简单地连接两个列.同时连接时我想-- 在这里插入列C应该是什么样子:

         C
0   asdf--sdsd
1   sdfsdf--sdfsdff
2   sdf--sdfsde
Run Code Online (Sandbox Code Playgroud)

我可以通过每一行df.loc并得到我需要的东西,但它很慢,我想知道是否有更快的方法.

string pandas

4
推荐指数
1
解决办法
62
查看次数

激活虚拟环境并启动批处理文件中的jupyter Notebook

我创建了以下批处理文件:jupyter_nn.bat。内部文件我有:

cd "C:\My_favorite_path"
activate neuralnets
jupyter notebook
Run Code Online (Sandbox Code Playgroud)

因此,目标是激活conda虚拟环境并启动jupyter Notebook。由于某些原因,这不起作用。窗户立即关闭。如果我从cmd运行此批处理文件,则仅执行activate neulranets。我已经尝试过pausepause>nul其他伏都教舞蹈。有什么建议么?这也适用于Windows 7。

python windows cmd conda jupyter-notebook

4
推荐指数
1
解决办法
1615
查看次数

R dplyr中行之间的时差,不同单位

这是我的例子。我正在读取以下文件:sample_data

library(dplyr)

txt <- c('"",  "MDN",                  "Cl_Date"',
          '"1",  "A",  "2017-04-15 15:10:42.510"',
          '"2",  "A",  "2017-04-01 14:47:23.210"',
          '"3",  "A",  "2017-04-01 14:49:54.063"',
          '"4",  "B",  "2017-04-30 13:25:00.000"',
          '"5",  "B",  "2017-04-03 17:53:13.217"',
          '"6",  "B",  "2017-04-15 15:17:43.780"')

ts <- read.csv(text = txt, as.is = TRUE)
ts$Cl_Date <- as.POSIXct(ts$Cl_Date)
ts <- ts %>% group_by(MDN) %>% arrange(Cl_Date) %>%
  mutate(time_diff = c(0,diff(Cl_Date)))
ts <-ts[order(ts$MDN, ts$Cl_Date),]
Run Code Online (Sandbox Code Playgroud)

结果我有

MDN Cl_Date         time_diff
A   4/1/2017 14:47  0
A   4/1/2017 14:49  2.514216665
A   4/15/2017 15:10 20180.80745
B   4/3/2017 17:53  0
B   4/15/2017 15:17 …
Run Code Online (Sandbox Code Playgroud)

datetime r difference dplyr

4
推荐指数
1
解决办法
1790
查看次数

在 C# 中初始化没有值的字典

我想创建仅包含键的字典。例如:

Dictionary <string, double> SmplDict= new Dictionary<string, double>();
SmplDict.Add("KeyOne");
SmplDict.Add("KeyTwo");
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用一些预定义值进行初始化,但这些值将被覆盖,因此我现在只想声明键。我试过

SmpDict.Add("KeyOne", null)
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

c# dictionary

3
推荐指数
1
解决办法
1万
查看次数

pymongo 和聚合输出

这是我的 pymongo 电话

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client['somedb']
collection = db.some_details
pipe = [{'$group': {'_id': '$mvid', 'count': {'$sum': 1}}}]
TestOutput = db.collection.aggregate(pipeline=pipe)
print(list(TestOutput))
client.close()
Run Code Online (Sandbox Code Playgroud)

由于某种原因,结果列表为空,而在 Robomongo 中,我得到非空输出。

格式不正确?

确切的 Robomongo 查询是

db.some_details.aggregate([{$group: {_id: '$mvid', count: {$sum: 1}}}])
Run Code Online (Sandbox Code Playgroud)

更新 输出看起来像

{
    "result" : [ 
        {
            "_id" : "4f973d56a64facfaa7c3r4rf262ad5be695eef329aff7ab4610ddedfb8137427",
            "count" : 84.0000000000000000
        }, 
        {
            "_id" : "a134106e1a1551d296fu777cedc933e7df2d0a9bc5f41de047aba3ee29bace78",
            "count" : 106.0000000000000000
        }, 

    ],
    "ok" : 1.0000000000000000
}
Run Code Online (Sandbox Code Playgroud)

aggregate pymongo output

3
推荐指数
1
解决办法
4636
查看次数

熊猫groupby和等级-重复的等级相同

这是我的数据框:

my_df = pd.DataFrame({'group':['a','a', 'a','b','b'], 'date':['2017-01-02', '2017-01-02','2017-03-01',  '2018-02-05', '2018-04-06']})
my_df['date']= pd.to_datetime(my_df['date'], format = '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)

我想为每个组添加等级,其中将为相同的值分配相同的等级。

这是我想要的输出:

    date        group rank
0   2017-01-02      a 1
1   2017-01-02      a 1
2   2017-03-01      a 2
3   2018-02-05      b 1
4   2018-04-06      b 2
Run Code Online (Sandbox Code Playgroud)

我想我可以通过分组两次并进行排名和重新加入原始数据框来做到这一点,但是我想知道是否有更快的方法来做到这一点。

unique rank pandas pandas-groupby

3
推荐指数
1
解决办法
552
查看次数

将 R 数据帧转换为 h2o 对象 - 错误:提供的列类型排序未知

我正在 R 中运行以下代码

library(h2o)
h2o.init()  

df <- as.h2o(diamonds)
Run Code Online (Sandbox Code Playgroud)

并返回以下错误:

ERROR: Unexpected HTTP Status code: 412 Precondition Failed (url = http://localhost:54321/3/Parse)

water.exceptions.H2OIllegalArgumentException
 [1] "water.exceptions.H2OIllegalArgumentException: Provided column type ordered is unknown.  Cannot proceed with parse due to invalid argument."
 [2] "    water.parser.ParseSetup.strToColumnTypes(ParseSetup.java:240)"                                                                         
 [3] "    water.api.ParseHandler.parse(ParseHandler.java:21)"                                                                                    
 [4] "    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"                                                                           
 [5] "    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"                                                         
 [6] "    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"                                                 
 [7] "    java.lang.reflect.Method.invoke(Method.java:498)"                                                                                      
 [8] "    water.api.Handler.handle(Handler.java:60)"                                                                                             
 [9] "    water.api.RequestServer.serve(RequestServer.java:462)"                                                                                 
[10] "    water.api.RequestServer.doGeneric(RequestServer.java:295)"                                                                             
[11] "    water.api.RequestServer.doPost(RequestServer.java:221)"                                                                                
[12] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:755)"                                                                          
[13] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:848)"                                                                          
[14] "    org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)"                                                                
[15] "    org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)" …
Run Code Online (Sandbox Code Playgroud)

r dataframe h2o

3
推荐指数
1
解决办法
453
查看次数