如何获取包含集合中所有文档的某个字段的所有值的数组?
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) 我知道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) 如果行中的每个值都大于不同数据帧中的相应行,我想要对数据进行子集化.我还需要跳过一些顶行.这些先前的问题对我没有帮助,但它是相关的:
> 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) 我试图用已知的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