我有一组灰度图像作为2D numpy数组.
我需要围绕不同的浮动角度的一个点(在它们内部)旋转图像.旋转不需要到位,我将允许(当然,如果我到目前为止解释得很好)进行插值.
我想保持笨拙,因为我需要对结果进行数值运算,但我也可以(如果那是不可能的话)允许进/出; 例如我尝试使用PIL,即Image.rotate(theta)但不明白如何将其应用于我的数组,以及如何获取数组.
谢谢您的意见.
我有python 2.7,我试图发出:
glob('{faint,bright*}/{science,calib}/chip?/')
Run Code Online (Sandbox Code Playgroud)
我没有获得匹配,但是从shell echo {faint,bright*}/{science,calib}/chip?
给出:
faint/science/chip1 faint/science/chip2 faint/calib/chip1 faint/calib/chip2 bright1/science/chip1 bright1/science/chip2 bright1w/science/chip1 bright1w/science/chip2 bright2/science/chip1 bright2/science/chip2 bright2w/science/chip1 bright2w/science/chip2 bright1/calib/chip1 bright1/calib/chip2 bright1w/calib/chip1 bright1w/calib/chip2 bright2/calib/chip1 bright2/calib/chip2 bright2w/calib/chip1 bright2w/calib/chip2
Run Code Online (Sandbox Code Playgroud)
我的表情有什么问题?
我有一组数据,并希望对其进行直方图.我需要这些垃圾箱具有相同的尺寸,我的意思是它们必须包含相同数量的物体,而不是具有等间距垃圾箱的更常见(numpy.histogram)问题.这自然会出现在箱子宽度的费用上,这可能 - 并且通常会 - 是不同的.
我将指定所需的箱数和数据集,获得返回的箱边.
Example:
data = numpy.array([1., 1.2, 1.3, 2.0, 2.1, 2.12])
bins_edges = somefunc(data, nbins=3)
print(bins_edges)
>> [1.,1.3,2.1,2.12]
Run Code Online (Sandbox Code Playgroud)
所以箱子都包含2个点,但它们的宽度(0.3,0.8,0.02)是不同的.
有两个限制: - 如果一组数据相同,则包含它们的bin可能更大. - 如果有N个数据并且要求M个箱,则如果N%M不为0,则将有N/M个箱加一个.
这段代码是我编写的一些代码,它适用于小型数据集.如果我有10**9 +分并希望加快这个过程怎么办?
1 import numpy as np
2
3 def def_equbin(in_distr, binsize=None, bin_num=None):
4
5 try:
6
7 distr_size = len(in_distr)
8
9 bin_size = distr_size / bin_num
10 odd_bin_size = distr_size % bin_num
11
12 args = in_distr.argsort()
13
14 hist = np.zeros((bin_num, bin_size))
15
16 for …
Run Code Online (Sandbox Code Playgroud) 我有一个冗长的情节,由几个水平子图组成一个列组成.
当我调用fig.savefig('what.pdf')时,生成的输出文件显示所有填充到单个页面上的图.
问题:有没有办法告诉savefig保存任何数量(可能是自动确定的)pdf页面?
如果可能的话,我宁愿避免多个文件,然后是os.system('merge ...').
我有两个数组,说:
a, b = np.array([13., 14., 15., 32., 33.]), np.array([15., 16., 17., 33., 34., 47.])
Run Code Online (Sandbox Code Playgroud)
我需要找到b中不存在的所有元素的索引.在上面的例子中,结果将是:
[0, 1, 3]
Run Code Online (Sandbox Code Playgroud)
因为a [0],a [1]和a [3]是13.,14和32.,它们在b中不存在.请注意,我不知道13,14和32的实际值.(在这种情况下,我可以使用set(a).difference(set(b))).我真的只对指数感兴趣.
如果可能,答案应该是"矢量化",即不使用for循环.
文件示例
I have a 3-10 amount of files with:
- different number of columns
- same number of rows
- inconsistent spacing (sometimes one space, other tabs, sometimes many spaces) **within** the very files like the below
> 0 55.4 9.556E+09 33
> 1 1.3 5.345E+03 1
> ........
> 33 134.4 5.345E+04 932
>
........
Run Code Online (Sandbox Code Playgroud)
我需要从file1获取列(例如)1,从file2获取第3列,从file3获取第7列,从file4获取第1列,并将它们并排放入单个文件中.
试验1:不工作
Run Code Online (Sandbox Code Playgroud)paste <(cut -d[see below] -f1 file1) <(cut -d[see below] -f3 file2) [...]
分隔符是'或空的.
试用版2:使用2个文件但不使用多个文件
Run Code Online (Sandbox Code Playgroud)awk '{ a1=$1;b1=$4; getline <"D2/file1.txt"; print …
我正在使用pathos.multiprocessing来并行化需要使用实例方法的程序.这是一个最小的工作示例:
import time
import numpy as np
from pathos.multiprocessing import Pool, ProcessingPool, ThreadingPool
class dummy(object):
def __init__(self, arg, key1=None, key2=-11):
np.random.seed(arg)
randnum = np.random.randint(0, 5)
print 'Sleeping {} seconds'.format(randnum)
time.sleep(randnum)
self.value = arg
self.more1 = key1
self.more2 = key2
args = [0, 10, 20, 33, 82]
keys = ['key1', 'key2']
k1val = ['car', 'borg', 'syria', 'aurora', 'libera']
k2val = ['a', 'b', 'c', 'd', 'e']
allks = [dict(zip(keys, [k1val[i], k2val[i]])) for i in range(5)]
pool = ThreadingPool(4)
result = pool.map(dummy, args, …
Run Code Online (Sandbox Code Playgroud) 我有一个运行变量,让我们说它的值是INDEX = 1122
当前的迭代.我已经出口:
export PRO"$INDEX"=/some/fancy/dirry
现在我想引用这个变量,但如果我这样做:
echo $"PRO$INDEX"
我明白了:
PRO1122
相反,我想看到:
/some/fancy/dirry
很像是结果echo $PRO1122
.
但是,我当然不能1122
在循环中硬编码值.