小编nic*_*ris的帖子

如何在3D numpy蒙板阵列上管理2D傅里叶变换(FFT)?

我在3D阵列上进行2D快速傅里叶变换时遇到问题.它们具有数学性质,具有"理解蟒蛇/笨拙"的本质.

编辑:为了澄清,核心问题是:numpy.fft如何处理掩码数组?我可以平均一个轴然后做一个fft并获得与fft相同的结果,然后对不涉及fft的轴进行平均吗?

该阵列由每个纬度和经度(在某个域中)的大气和海洋之间的二氧化碳通量值(以"单位"表示)组成.阵列的形状是(730,50,182),对应于(时间,纬度,经度).使用以下方法掩盖土地价值:

import numpy as np
from numpy import ma
carbon_flux = ma.masked_values(carbon_flux, 1e+20)
Run Code Online (Sandbox Code Playgroud)

我想显示经度平均的carbon_flux二维傅里叶变换的方差对数.我将数组平均在最后一个轴(经度)上,然后像这样进行傅立叶变换:

ft_type_1 = np.log(np.abs(np.fft.fft2(ma.mean(cflux, 2)))
Run Code Online (Sandbox Code Playgroud)

这给了我一个可以接受的结果.但是,有人告诉我先做平均值:

ft_type_2 = np.log(np.mean(np.abs(np.fft.fft2(carbon_flux, axes=(0, 1))),axis=2)
Run Code Online (Sandbox Code Playgroud)

这导致掩码值用于计算fft(我可以通过fft的第一个值来判断为10e19的数量级).

根据我的理解,在fft之前进行平均的结果将与fft之后的平均值不同.我在假设中是正确的,还是我执行这些功能的顺序没有区别?

fft是否使用屏蔽值?我可以避免这个吗?

最后,我计算了平均纬度以上的carbon_flux的二维傅里叶变换的对数.我无法理解如何计算纬度平均的2D傅里叶变换的VARIANCE的对数.我得到的fft图像的值是否需要平方才能成为方差?

这似乎是一系列非常复杂的问题,但任何部门的任何帮助都会受到赞赏.谢谢.

python math numpy fft

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

在Python中插入一个3d数组.如何避免for循环?

我有一个数组,我想插入第一轴.目前我正在这样做:

import numpy as np
from scipy.interpolate import interp1d

array = np.random.randint(0, 9, size=(100, 100, 100))
new_array = np.zeros((1000, 100, 100))
x = np.arange(0, 100, 1)
x_new = np.arange(0, 100, 0.1)

for i in x:
    for j in x:
        f = interp1d(x, array[:, i, j])
        new_array[:, i, j] = f(xnew)
Run Code Online (Sandbox Code Playgroud)

我使用的数据表示域中每个纬度和经度的10年5天平均值.我想创建一个每日值数组.

我也尝试过使用样条线.我真的不知道它们是如何工作的,但速度并不快.

有没有办法在不使用for循环的情况下执行此操作?如果必须使用for循环,还有其他方法可以加快速度吗?

提前感谢您的任何建议.

python arrays interpolation numpy scipy

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

Zurb Foundation 6揭示了模态在移动设备上增加了垂直间距

我正在使用Zurb Foundation 6.3.0,并且遇到以下问题。在桌面和响应模式下都以chrome打开时,揭示模式会收到以下内联样式。

element.style {
    display: block;
    top: 0px;
    left: 0px;
    margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用Android设备的远程调试功能打开网站,则内联样式设置如下。

element.style {
    display: block;
    top: 60px;
    left: 0px;
    margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)

这会使模态比应往下移60px,并在模态后面显示内容。是什么导致内联样式在android设备上的设置不同?

这是通过以下方式进行的计算的结果foundation.reveal.js

var height = this.$element.outerHeight();
var outerHeight = $(window).height();

if (this.options.vOffset === 'auto') {
  if (height > outerHeight) {
    top = parseInt(Math.min(100, outerHeight / 10), 10);
  } else {
    top = parseInt((outerHeight - height) / 4, 10);
  }
}
Run Code Online (Sandbox Code Playgroud)

如果元素高度大于窗口高度,则会将top元素的属性设置为窗口高度的1/10。如果元素高度不大于元素高度,则将该top值设置为窗口高度和元素高度之差的1/4。

在这种情况下,元素的高度被计算为大于窗口高度(即使应将其设置为100vh)。因此,将元素的位置设置为窗口高度的〜1/10。

html javascript css mobile zurb-foundation

2
推荐指数
1
解决办法
824
查看次数

如何在xml中嵌入python脚本使用大于或小于符号?

我正在使用edX Studio制作课程.我想做一个自定义的python评估输入问题.xml标签被标签中的python代码中的符号><符号关闭似乎存在问题?

<?xml version="1.0"?> 
<problem>
  <p>Name as many online learning platforms as you can: </p>
    <script type="loncapa/python">

def make_a_list(name_string):
    return name_string.split(',')

def count_names(name_list):
    return len(name_list)

def how_many_oli(expect, ans):
    oli_names = ['udacity', 'udemy', 'codecademy', 'iktel'
      'codeschool', 'khan academy', 'khanacademy', 'coursera', 'edx', 'iversity']
    names = make_a_list(ans)
    how_many = len(set(names))
    message_hint = 'Good work!'
    for e in names:
        e=e.strip('"')
        e=e.strip("'")
        e=e.strip()
        e=e.lower()
        who_is = e
        if e not in oli_names:
            message_hint = message_hint+" Tell us about  "+str(who_is).title()+"?"
    if how_many …
Run Code Online (Sandbox Code Playgroud)

python xml edx

0
推荐指数
1
解决办法
3063
查看次数

标签 统计

python ×3

numpy ×2

arrays ×1

css ×1

edx ×1

fft ×1

html ×1

interpolation ×1

javascript ×1

math ×1

mobile ×1

scipy ×1

xml ×1

zurb-foundation ×1