草庐IT

apply_along_axis

全部标签

python - 如何使 matplotlib/pylab 中的 X Axis 不自动对值进行排序?

每当我绘制时,XAxis会自动排序(例如,如果我输入值3、2、4,它会自动将XAxis从小到大排序。我该怎么做才能使Axis保持我输入值的顺序,即3、2、4importpylabaspldata=genfromtxt('myfile.dat')pl.axis('auto')pl.plot(data[:,1],data[:,0])我找到了一个函数,set_autoscalex_on(FALSE),但我不确定如何使用它或者它是否是我想要的。谢谢 最佳答案 您可以提供一个虚拟的x范围,然后覆盖xtick标签。我确实同意上面的评论,质疑它是

Python namedtuple 作为 apply_async(..) 回调的参数

我正在编写一个简短的程序,我想在其中异步调用一个函数,这样它就不会阻塞调用者。为此,我使用了python的multiprocessing模块中的Pool。在异步调用的函数中,我想返回一个namedtuple以符合我程序其余部分的逻辑,但我发现namedtuple确实似乎不是从派生进程传递到回调的受支持类型(可能是因为它不能被腌制)。这是问题的最小重现。frommultiprocessingimportPoolfromcollectionsimportnamedtuplelogEntry=namedtuple("LogEntry",['logLev','msg'])defdoSometh

python - 为什么 numpy.apply_along_axis 似乎比 Python 循环慢?

我对numpy的numpy.apply_along_axis()函数何时会优于简单的Python循环感到困惑。例如,考虑一个有很多行的矩阵,您希望计算每一行的总和:x=np.ones([100000,3])sums1=np.array([np.sum(x[i,:])foriinrange(x.shape[0])])sums2=np.apply_along_axis(np.sum,1,x)在这里,我什至使用了一个内置的numpy函数,np.sum,但是计算sums1(Python循环)在计算时花费了不到400毫秒sums2(apply_along_axis)需要超过2000毫秒(Wind

Python pyqtgraph 如何在图形上设置 x 和 y Axis 限制,没有自动范围

我想知道如何设置为pyqtgraph.GraphicsWindow.addPlot对象显示的xAxis和yAxis限制。我需要在一个循环中显示大量数据(因此使用pyqtgraph),但我宁愿预先分配我的Axis,而不是允许自动调整范围来提高速度。例如,frompyqtgraph.QtimportQtGui,QtCoreimportnumpyasnpimportpyqtgraphaspgapp=QtGui.QApplication([])win=pg.GraphicsWindow(title="Myplottingexamples")win.resize(1000,600)win.set

python - 解释 numpy 中 dim、shape、rank、dimension 和 axis 之间的区别

总的来说,我是python和numpy的新手。我阅读了几个教程,但仍然对暗淡、等级、形状、轴和尺寸的差异感到困惑。我的思绪似乎停留在矩阵表示上。所以如果你说A是一个看起来像这样的矩阵:A=123456那么我能想到的就是一个2x3的矩阵(两行三列)。这里我理解的形状是2x3。但我真的无法超越二维矩阵的想法。我不明白例如dot()documentation当它说“对于N维时,它是a的最后一个轴和b的倒数第二个轴的和积”。我很困惑,无法理解这一点。我不明白如果V是N:1向量而M是N:N矩阵,dot(V,M)或dot(M,V)是如何工作的以及它们之间的区别。谁能向我解释什么是N维数组、什么是形

python - 索引错误 : index 1 is out of bounds for axis 0 with size 1/ForwardEuler

我正在对一阶微分方程组的x(t)进行数值求解。该系统是:dy/dt=(C)\*[(-K\*x)+M*A]我已经实现了正向欧拉方法来解决这个问题,如下所示:这是我的代码:importmatplotlibimportnumpyasnpfromnumpyimport*fromnumpyimportlinspacefrommatplotlibimportpyplotaspltC=3K=5M=2A=5#------------------------------------------------------------------------------defeuler(f,x0,t):n=l

python - 绘图 : using percentage on x axis

我有一个基于简单数字列表的折线图。默认情况下,x轴只是每个绘制值的增量1。我想成为一个百分比,但无法弄清楚如何。因此,不是让x轴从0到5,而是从0%到100%(但保持合理间隔的刻度线。代码如下。谢谢!frommatplotlibimportpyplotaspltfrommpl_toolkits.axes_grid.axislinesimportSubplotdata=[8,12,15,17,18,18.5]fig=plt.figure(1,(7,4))ax=Subplot(fig,111)fig.add_subplot(ax)plt.plot(data) 最

python - Pandas 数据框 : how to apply describe() to each group and add to new columns?

df:namescoreA1A2A3A4A5B2B4B6B8想要以下面的形式获取以下新数据框:namecountmeanstdmin25%50%75%maxA53............B45............如何从df.describe()中提取信息并重新格式化?谢谢 最佳答案 还有更短的:)printdf.groupby('name').describe().unstack(1)Nothingbeatsone-liner:In[145]:printdf.groupby('name').describe().reset_in

python - 回调 celery apply_async

我在我的应用程序中使用celery来运行周期性任务。让我们看下面的简单示例frommyqueueimportQueue@perodic_task(run_every=timedelta(minutes=1))defprocess_queue():queue=Queue()uid,questions=queue.pop()ifuidisNone:returnjob=group(do_stuff(q)forqinquestions)job.apply_async()defdo_stuff(question):try:...except:...raise正如您在上面的示例中看到的,我使用ce

python - 在 DataFrame 对象上使用 rolling_apply

我正在尝试滚动计算成交量加权平均价格。为此,我有一个函数vwap可以为我执行此操作,如下所示:defvwap(bars):return((bars.Close*bars.Volume).sum()/bars.Volume.sum()).round(2)当我尝试将此函数与rolling_apply一起使用时,如图所示,出现错误:importpandas.io.dataaswebbars=web.DataReader('AAPL','yahoo')printpandas.rolling_apply(bars,30,vwap)AttributeError:'numpy.ndarray'obj