小编chi*_*gry的帖子

列出mongodb中某个字段的所有值

如何获取包含集合中所有文档的某个字段的所有值的数组?

db.collection:

{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "x" : 1 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "x" : 2 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "x" : 3 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "x" : 4 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "x" : 5 }
Run Code Online (Sandbox Code Playgroud)

"db.collection.ListAllValuesForfield(x)"结果:[1,2,3,4,5]

此外,如果这个字段是一个数组怎么办?

{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "y" : [3,4] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "y" : [5,6] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), …
Run Code Online (Sandbox Code Playgroud)

database mongodb mongodb-query

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

matplotlib颜色rgb_to_hsv无法正常工作.也许需要报告呢?

我知道RGB到HSV的转换应该取RGB值0-255并转换为HSV值[0-360,0-1,0-1].例如,在java中看到这个转换器:

当我在图像上运行matplotlib.colors.rbg_to_hsv时,它似乎输出值[0-1,0-1,0-360].但是,我在这样的图像上使用了这个函数,它似乎按正确的顺序[H,S,V]工作,只是V太大了.

例:

In [1]: import matplotlib.pyplot as plt

In [2]: import matplotlib.colors as colors

In [3]: image = plt.imread("/path/to/rgb/jpg/image")

In [4]: print image
[[[126  91 111]
  [123  85 106]
  [123  85 106]
  ..., 

In [5]: print colors.rgb_to_hsv(image)
[[[  0   0 126]
  [  0   0 123]
  [  0   0 123]
  ..., 
Run Code Online (Sandbox Code Playgroud)

那些不是0,它们是0到1之间的一些数字.

以下是matplotlib.colors.rgb_to_hsv的定义

def rgb_to_hsv(arr):
    """
    convert rgb values in a numpy array to hsv values
    input and output arrays should have shape (M,N,3) …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

7
推荐指数
1
解决办法
2509
查看次数

基于R中的不同数据帧的值进行子集

如果行中的每个值都大于不同数据帧中的相应行,我想要对数据进行子集化.我还需要跳过一些顶行.这些先前的问题对我没有帮助,但它是相关的:

基于另一数据帧的内容子集数据帧

使用来自不同数据帧的信息子集数据[r]

> A
     name1 name2
cond   trt  ctrl
hour     0     3
A        1     1
B       10     1
C        1     1
D        1     1
E       10    10
> B
     name1 name2
cond   trt  ctrl
hour     0     3
A        1     1
B        1    10
C        1     1
D        1     1
E        1     1
Run Code Online (Sandbox Code Playgroud)

我要这个.只有A中所有值大于B的行:

     name1 name2
cond   trt  ctrl
hour     0     3
E       10    10
Run Code Online (Sandbox Code Playgroud)

我试过这3行:

subset(A, TRUE, select=(A[3:7,] > B[3:7,]))
subset(A, A > B)
A[A[3:7,] > B[3:7,]]
Run Code Online (Sandbox Code Playgroud)

非常感谢.以下是生成数据的代码:

A …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

求解scipy/numpy中已知y的多项式的x值

我试图用已知的y求解x值.我能够得到多项式以适合我的数据,现在我想知道所选y将落在曲线上的x值.

import numpy as np

x = [50, 25, 12.5, 6.25, 0.625, 0.0625, 0.01]
y = [0.00, 0.50, 0.68, 0.77, 0.79, 0.90, 1.00]

poly_coeffs = np.polyfit(x, y, 3)

f = np.poly1d(poly_coeffs)
Run Code Online (Sandbox Code Playgroud)

我想做0.5 = f并求解x值.

我可以通过输入以下内容在WolframAlpha中解决此问题:

0.5 = -9.1e-6*x^3 + 5.9e-4*x^2 - 2.5e-2*x + 9.05e-1
Run Code Online (Sandbox Code Playgroud)

实际的x值是~26

python math numpy scipy

5
推荐指数
2
解决办法
6425
查看次数

标签 统计

numpy ×2

python ×2

scipy ×2

database ×1

dataframe ×1

math ×1

matplotlib ×1

mongodb ×1

mongodb-query ×1

r ×1