小编tia*_*ago的帖子

用于计算每个目录中文件数的脚本

我需要计算大量目录中的文件数.有一个简单的方法来使用shell脚本(使用find,wc,sed,awk或类似)吗?只是为了避免在python中编写正确的脚本.

输出将是这样的:

$ <magic_command>
dir1  2
dir2 12
dir3  5
Run Code Online (Sandbox Code Playgroud)

目录名称后面的数字是文件数.加号可以打开和关闭点/隐藏文件的计数.

谢谢!

shell

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

栅格化matplotlib轴内容(但不是帧,标签)

对于一篇文章,我正在生成变形的有限元网格图,我使用matplotlib的polycollection进行可视化.图像保存为pdf.

高密度网格出现了问题,对于这种网格来说,天真的方法导致文件太大而且渲染太密集而不实用.

对于这些网格,将每个元素绘制为多边形是没有意义的; 它很容易被光栅化,就像将图像保存为jpg或png时所做的那样.但是,对于打印,我想保留一个清晰的框架,标签和注释.

有谁知道在matplotlib中是否有可能实现这种混合光栅化?

我可以想到涉及imshow和绕过polycollection的解决方案,但我更喜欢使用matplotlib的内置组件.

谢谢你的建议.

python plot matplotlib vector-graphics rasterizing

10
推荐指数
1
解决办法
1798
查看次数

图像的几何扭曲在python中

我想使用python对图像执行几何变换,以"拉直"或纠正沿给定曲线的图像.看来,scikit形象ProjectiveTransform()warp()对于这个非常好,但文档是稀疏.我按照这里的文档,但我无法让它适用于示例案例.

这是一个例子:我将创建一个带有两个同心圆的图像,目标是纠正这些圆的四分之一,这样得到的图像就是两条平行线.以下是示例数据:

import numpy as np
a = np.zeros((500, 500))

# create two concentric circles with a thickness of a few pixels:
for i in range(500):
    for j in range(500):
        r = np.sqrt((i - 250)**2 + (j - 250)**2) 
        if r > 50 and r < 52:
            a[i, j] = 10
        if r > 100 and r < 102:
            a[i, j] = 10
# now create the coordinates of the control points in the …
Run Code Online (Sandbox Code Playgroud)

python numpy image-processing scikit-image

10
推荐指数
1
解决办法
2342
查看次数

Moq使用没有参数的ReturnsAsync()

我用Moq.我已经嘲笑了一个类似于以下方法的类:

public async Task DoSomething()
{
    // do something...
}
Run Code Online (Sandbox Code Playgroud)

我设置如下:

SomeMock.Setup(x => x.DoSomething())
                .Callback(() => ... ))
                .Returns(Task.FromResult(default(int)));
Run Code Online (Sandbox Code Playgroud)

我不喜欢最后一行:.Returns(Task.FromResult(default(int))).有没有办法以更优雅的方式设置异步返回.我知道有一种方法,ReturnsAsync()但它有一个参数.我的方法返回,Task所以我没有参数ReturnsAsync().

c# unit-testing moq

9
推荐指数
1
解决办法
5744
查看次数

如何将numpy蒙面数组保存到文件中

保存numpy蒙面数组的最有效方法是什么?不幸的是numpy.save不起作用:

import numpy as np
a = np.ma.zeros((500, 500))
np.save('test', a)
Run Code Online (Sandbox Code Playgroud)

这给出了:

NotImplementedError: Not implemented yet, sorry...
Run Code Online (Sandbox Code Playgroud)

一种方法似乎是使用pickle,但遗憾的是效率不高(文件大小很大),而且与平台无关.此外,netcdf4似乎工作,但它只是为了保存一个简单的数组有一个很大的开销.

以前有人遇到过这个问题吗?我很想只是做numpy.savearray.data的面具和其他.

python numpy

8
推荐指数
1
解决办法
5362
查看次数

Matlab过滤器与Python lfilter不兼容

美好的一天,

我一直在摆弄将matlab代码移植到python中,我遇到了这个奇怪的问题.我搜索了一下,但没有发现任何信息表明我做错了什么.

该问题的核心是Matlab的过滤器(b,a,数据)(内置于matlab中)与Python的scipy.signal.lfilter相比产生了不同的输出.

这是在任意粉红噪声信号上执行的问题

我有第三方给我的过滤系数,它们如下:

a0 = 1
a1 = -1.69065929318241
a2 = 0.73248077421585
b0 = 1.53512485958697
b1 = -2.69169618940638
b2 = 1.19839281085285
Run Code Online (Sandbox Code Playgroud)

在matlab中,我按如下方式初始化分子/分母:

a = [a0 a1 a2];
b = [b0 b1 b2];
Run Code Online (Sandbox Code Playgroud)

在python我这样做:

a = np.array([a0, a1, a2])
b = np.array([b0, b1, b2])
Run Code Online (Sandbox Code Playgroud)

在读取matlab/python中的信号后,我打印出前15个样本,以确保你们知道输入是相同的

Matlab的:

   0.061920166015625
  -0.050170898437500
  -0.117370605468750
  -0.065979003906250
  -0.013854980468750
  -0.042663574218750
   0.107452392578125
  -0.044006347656250
   0.115112304687500
  -0.043457031250000
  -0.028778076171875
  -0.128234863281250
   0.045227050781250
  -0.091796875000000
   0.315063476562500
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

[[ 0.06192017]
 [-0.0501709 ]
 [-0.11737061]
 [-0.065979  ]
 [-0.01385498]
 [-0.04266357]
 [ 0.10745239]
 [-0.04400635]
 [ 0.1151123 ]
 [-0.04345703]
 [-0.02877808] …
Run Code Online (Sandbox Code Playgroud)

python matlab numpy filter scipy

6
推荐指数
1
解决办法
2726
查看次数

Matplotlib绝对文本定位

我正在使用matplotlib绘制电影,并且一直在努力寻找text()元素的绝对定位.问题是我的文本块(通常是增加数字)会根据打印的数字继续移动.即使我将水平/垂直对齐设置为固定级别(例如rightbottom),也会发生这种情况.

这似乎与我使用LaTeX字体有关,特别是某些字符比其他字符宽的字体.使用默认字体(比特流Vera Sans)它不会发生.

以下是该问题的说明.使用默认字体:

在此输入图像描述

随着乳胶cmbright字体:

在此输入图像描述

请注意,如果前导数字为0,1或2,小数点的位置如何水平移动.在其他一些示例中,小数点垂直移动.以下代码用于生成这些图:

figure(figsize=(4,4))
tt = text(.7, .5, '00.0', va='center', ha='right', fontsize=60)
for i in range(26):
    tt.set_text('%04.1f' % (float(i)))
    savefig(...)
Run Code Online (Sandbox Code Playgroud)

对于LaTeX字体,我之前加载了以下内容:

rc('text', usetex=True)
rc('text.latex', preamble=r'\usepackage{cmbright}')
Run Code Online (Sandbox Code Playgroud)

我尝试过不同类型的对齐,但我仍然无法解决这个问题.随着ha='right'我以为右侧总是在一个固定的位置.改变字体不是一个真正的选择,因为我需要这个以保持一致性和其他原因.关于如何解决这个问题的任何想法?它导致非常不专业的视频.

python matplotlib

5
推荐指数
0
解决办法
512
查看次数

沿最后一维索引numpy nd数组

有没有一种简单的方法可以使用索引数组沿最后一个维索引一个numpy多维数组?例如,采用ashape 的数组(10, 10, 20)。假设我有一个b形状为索引的数组,(10, 10)因此结果为c[i, j] = a[i, j, b[i, j]]

我尝试了以下示例:

a = np.ones((10, 10, 20))
b = np.tile(np.arange(10) + 10, (10, 1))
c = a[b]
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为它随后尝试为like编制索引a[b[i, j], b[i, j]],这与相同a[i, j, b[i, j]]。等等。有没有一种简单的方法可以执行此操作而不求助于循环?

python numpy

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

PyQtGraph的滑块小部件

是否有可能获得PyQtGraph的滑块小部件?因此,例如一个或多个小部件可以控制绘图中的参数.就像下面这个例子一样(用enaml/chaco制作):

在此输入图像描述

我在示例或PyQtGraph小部件列表中找不到这样的内容.也许可以使用Qt的小部件并将其链接到PyQtGraph绘图对象?

python pyqt pyqtgraph

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

绘制周期性轨迹

我有一些粒子在走廊中移动并具有封闭边界条件的数据.绘制轨迹会产生锯齿形轨迹. 在此输入图像描述

我想知道如何阻止plot()连接点,粒子回到起点.有些东西比如图片的上半部分,但没有"."

我的第一个想法是在numpy数组a[:-1]-a[1:]获得positiv 时找到索引.然后从0到该索引的绘图.但是如何获得第一次出现正元素的指数a[:-1]-a[1:]?也许还有其他一些想法.

python numpy matplotlib

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