小编She*_*284的帖子

移动平均线或平均线

是否有一个scipy函数或numpy函数或模块用于python,在给定特定窗口的情况下计算一维数组的运行平均值?

python numpy matplotlib scipy python-2.7

164
推荐指数
19
解决办法
29万
查看次数

将matshow xticklabel位置从图的顶部更改为底部

我在matplotlib中使用matshow(),默认情况下生成的数字顶部有xticklabels.有没有办法把xticklabels放在底部?

感谢任何帮助./ M

python plot numpy matplotlib

17
推荐指数
1
解决办法
3614
查看次数

UTC和经度的本地太阳时功能

我想知道是否有一个python函数/模块在给定UTC时间和经度的情况下计算午夜(或当地太阳时间)之后的当地时间?它不需要考虑夏令时.

提前致谢.

python astronomy

9
推荐指数
2
解决办法
8209
查看次数

提高NumPy阵列上的操作性能

我正在使用numpy.delete从while循环内的数组中删除元素.仅当数组不为空时,此while循环才有效.此代码工作正常,但当数组超过1e6元素时,速度会大大降低.这是一个例子:

while(array.shape[0] > 0):
     ix = where((array >= x) & (array <= y))[0]
     array = delete(array,ix,None)
Run Code Online (Sandbox Code Playgroud)

我试图使这个代码有效,但我找不到一个加速while循环的好方法.我认为,这里的瓶颈是必须包含某种副本的删除.我已经尝试使用蒙面数组以避免复制,但我不擅长python和掩码数组不是那么容易搜索.有没有一种好的,快速的方法来使用删除或替换它,以便7e6元素可以通过上面的循环处理而不需要24小时?

谢谢

python numpy

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

快速的numpy addnan

我想明智地添加数千个4D数组元素并考虑到nans.使用1D数组的一个简单示例是:

X = array([4,7,89,nan,89,65, nan])
Y = array([0,5,4, 9,  8, 100,nan])
z = X+Y
print z = array([4,12,93,9,97,165,nan])
Run Code Online (Sandbox Code Playgroud)

我已经写了一个简单的for循环,但它需要永远 - 不是一个聪明的解决方案.另一个解决方案可能是创建一个更大的阵列并使用瓶颈nansum,但这会占用我的笔记本电脑太多的内存.我需要超过11000个案件的总和.

有没有人有一个聪明而快速的方法来做到这一点?

python optimization numpy nan scientific-computing

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

创建一个白色居中于零的色彩映射

我必须承认,了解如何创建或操作matplotlib的色彩图并不是一件容易的事.因此,我正在寻求一些帮助来解释和设置从蓝色(负)到红色(正)的色彩图,并且白色以零为中心.我想在下面使用这个cmap contourf:

  1. 这有效但颜色相反

    cs = plt.contourf(longrid, latgrid,
                      ar[window-1]-bkgrd, levels,
                      cmap = cm.get_cmap('BuRd', len(levels)-1))
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这里的问题是BuRd_r将零点附近的白色带走

    cs = plt.contourf(longrid, latgrid,
                      ar[window-1]-bkgrd, levels,
                      cmap = cm.get_cmap('BuRd_r', len(levels)-1))
    
    Run Code Online (Sandbox Code Playgroud)

我很感激任何帮助.

这是测试色彩映射的功能和数据:

def PlotAnomalyCF(ar,hgrid,latgrid,longrid,outfile,levels,units):                        
    window = 1                                                                           
    tsize = 8                                                                            
    plt.close()                                                                          
    plt.figure(figsize=(11.7,4.3) )                                                      
    plt.clf()                                                                            
    plt.cla()                                                                            

    bkgrd = bn.nanmean(ar[:],0)

    for v in hgrid:OA                                                                    
        plt.subplot(1,len(hgrid),window)                                                 
        plt.title(v,fontsize=tsize)                                                      
        plt.subplots_adjust(left=0.07,bottom=0.75,                                       
                            right=0.98, top=0.92,                                        
                            wspace=0.12,hspace=0.98)                                     
        cs = plt.contourf(longrid,latgrid,                                               
                          ar[window-1]-bkgrd,levels,                                     
                          cmap=cm.get_cmap('BuRd_r',len(levels)-1))                      
        cs.cmap.set_over('r')                                                            
        plt.grid(True)                                                                   
        plt.axis('off')                                                                  
        window += 1                                                                      
    ax = plt.gca()                                                                       
    pos = ax.get_position()                                                              
    l,b,w,h = pos.bounds                                                                 
    print l,b,w,h                                                                        
    cax = plt.axes([l-0.848,b-0.05,0.91,0.02]) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scipy

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

导致错误的预处理器警告的常见原因

我不熟悉导致以下警告的原因:

warning #5117: Bad # preprocessor line
#include "rtt_alloc_rad.interface"
Run Code Online (Sandbox Code Playgroud)

我已经看过一些明显的问题,比如#include左边是红色的.我想知道在哪里寻找可能的原因的一些提示.

我正在使用英特尔编译器:ifort版本15.0.1

该代码具有与外部库相关联的大型气候模型.很难知道要发布什么,但警告来自以下代码段:

MODULE rtt_interface

use rtt_types,    only : rtt_options, rtt_coefs, profile_Type, &
transmission_Type, radiance_Type,rtt_coef_scatt_ir,rtt_optpar_ir, &       
rtt_chanprof, rtt_emissivity, rtt_reflectance
use rtt_const,    only : errorstatus_success, errorstatus_fatal, & 
platform_name,inst_name
use rtt_unix_env, only : rtt_exit
use cosp_kinds,     only : wp,wi,wl

IMPLICIT NONE

real(wp), parameter :: tmin_baran = 193.1571_wp  

#include "rtt_alloc_rad.interface" 
#include "rtt_alloc_transmission.interface"
#include "rtt_alloc_prof.interface"
#include "rtt_dealloc_coefs.interface"
#include "rtt_direct.interface"
#include "rtt_print_opts.interface"

! snip...

END MODULE rtt_interface
Run Code Online (Sandbox Code Playgroud)

我用标志编译: f90flags=-g -fp-model precise -traceback -r8 -O0

fortran fortran90 intel-fortran

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

关于按位运算符语句的讨论

我很好奇python声明:

csum = (N * (N + 1)) >> 1
Run Code Online (Sandbox Code Playgroud)

在哪里N = 5csum = 15.我不明白运营商>>以及本声明中发生了什么.这个行动背后的底层思想是什么?csum应该是向量1:5的累积和.

感谢你对此的看法.

python python-2.7 python-3.x

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

突出单一轮廓线

我正在制作一个简单的轮廓图,我希望通过使其更厚并改变颜色来突出显示零线.

cs = ax1.contour(x,y,obscc)
ax1.clabel(cs,inline=1,fontsize=8,fmt='%3.1f')
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?谢谢 :-)

numpy matplotlib python-2.7

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

Numpy 数组获取非 NaN 的数组的子集/切片

我有一个大小为:(50, 50) 的数组。该数组中有一个大小为 (20,10) 的切片。只有这个切片包含数据,其余部分全部设置为nan。

如何从我的大数组中切出这个切片?

python arrays numpy slice python-2.7

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