我在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图像的值是否需要平方才能成为方差?
这似乎是一系列非常复杂的问题,但任何部门的任何帮助都会受到赞赏.谢谢.
我有一个数组,我想插入第一轴.目前我正在这样做:
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循环,还有其他方法可以加快速度吗?
提前感谢您的任何建议.
我正在使用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。
我正在使用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)