草庐IT

python - 在 Python 中计算图像数据集 channel 明智均值和标准差的最快方法

我有一个内存无法容纳的巨大图像数据集。我想计算均值和标准差,从磁盘加载图像。我目前正在尝试使用在wikipedia上找到的算法.#foranewvaluenewValue,computethenewcount,newmean,thenewM2.#meanaccumulatesthemeanoftheentiredataset#M2aggregatesthesquareddistancefromthemean#countaggregatestheamountofsamplesseensofardefupdate(existingAggregate,newValue):(count,mea

Python- np.mean() 给出错误的方法?

问题所以我有50个netCDF4数据文件,其中包含全局网格上数十年的每月温度预测。我正在使用np.mean()对所有50个数据文件进行整体平均,同时保留时间长度和空间比例,但np.mean()给了我两个不同的答案。我第一次运行它的代码块时,它给了我一个数字,当对纬度和经度进行平均并针对各个运行绘制时,它略低于合奏的平均值。如果我重新运行该block,它会给我一个看起来正确的不同均值。代码我不能在这里复制每一行,因为它很长,但这是我每次运行时所做的。#Historical(1950-2020)datancin_1=Dataset("/project/wca/AR5/CanESM2/mon

python - 具有无穷大的复数的 numpy 平均值

numpy似乎不是复无穷大的好friend虽然我们可以评估:In[2]:importnumpyasnpIn[3]:np.mean([1,2,np.inf])Out[3]:inf下面的结果比较麻烦:In[4]:np.mean([1+0j,2+0j,np.inf+0j])Out[4]:(inf+nan*j)...\_methods.py:80:RuntimeWarning:invalidvalueencounteredincdouble_scalarsret=ret.dtype.type(ret/rcount)我不确定虚部对我有意义。但如果我错了,请发表评论。对在numpy中与复杂的无限交

python - 规范化 2D Numpy 数组 : Zero Mean Unit Variance

我有一个二维Numpy数组,我想在其中将每一列标准化为零均值和单位方差。因为我主要使用C++,所以我正在做的方法是使用循环迭代列中的元素并执行必要的操作,然后对所有列重复此操作。我想知道这样做的Pythonic方式。让class_input_data成为我的二维数组。我可以得到列的意思是:column_mean=numpy.sum(class_input_data,axis=0)/class_input_data.shape[0]然后我通过以下方式从所有列中减去平均值:class_input_data=class_input_data-column_mean到目前为止,数据应该是零均值

python - 使用 Python 的高效滚动修剪均值

用Python计算滚动(又名移动窗口)修剪均值的最有效方法是什么?例如,对于50K行的数据集和50的窗口大小,对于每一行我需要取最后50行,删除顶部和底部的3个值(窗口大小的5%,四舍五入),并得到剩余44个值的平均值。目前,我正在对每一行进行切片以获取窗口,对窗口进行排序,然后切片以修剪它。它的工作速度很慢,但必须有更有效的方法。示例[10,12,8,13,7,18,19,9,15,14]#datausedforexample,inrealitsa50klinesdf对于5的窗口大小。对于每一行,我们查看最后5行,对它们进行排序并丢弃1个顶部和1个底部行(5%的5=0.25,四舍五入

python - Pandas 和 Rolling_Mean with Offset(平均每日交易量计算)

当我将股票数据从Yahoo提取到数据框中时,我希望能够计算5天的平均交易量,不包括当前日期。有没有办法使用带有偏移量的滚动均值?例如,5天表示不包括当前日期并基于前5天。当我运行下面的代码时r=DataReader("BBRY","yahoo",'2015-01-01','2015-01-31')r['ADV']=pd.rolling_mean(r['Volume'],window=5)它返回5天的交易量,包括当前日期,所以当您查看下面的内容时,1/8具有1/2、1/5、1/6、1/7和1/的平均交易量8.我希望1/9是第一个返回平均交易量的日期,它包含来自1/2、1/5、1/6、1/

python - 在 numpy.sum() 或 mean() 之前高效的 numpy.roll

我想研究几个(1000个数量级)形状为(1000,800,1024)的3D数组。我需要计算沿axis=0的平均值,但在此之前,我必须沿axis2滚动数据,直到它“位于正确的位置”。这听起来很奇怪,所以我会试着解释一下。形状为(1024,)的一维子数组是来自物理环形缓冲区的数据。环形缓冲区在不同的位置被读出,我知道。所以我有几个形状为(1000,800)的数组pos。告诉我在什么位置读取了环形缓冲区。我需要根据pos滚动形状为(1000,800,1024)的3D数组data。只有在滚动之后..3D阵列对我才有意义,我才能开始分析它们。在C中,可以编写非常简单的代码,所以我想知道我是否可以

python - Google 是否允许其他人使用他们的 "Did you mean"API?

我一直在整个Internet上搜索,但没有找到那个确切的API。我想将他们的DidYoumean功能用于我自己的网站。 最佳答案 Pygoogle有一个API调用http://pygoogle.sourceforge.net/dist/doc/public/google-module.html#doSpellingSuggestion>>>importgoogle>>>google.LICENSE_KEY='...'>>>google.doSpellingSuggestion('pithon')'python'

python - 为什么 "numpy.mean"返回 'inf' ?

我需要计算超过1000行的数组的列的平均值。np.mean(some_array)给我inf作为输出但我很确定这些值没问题。我正在从here加载一个csv在我的Data变量中,“cement”列在我看来是“健康的”。In[254]:np.mean(Data[:230]['Cement'])Out[254]:275.75但是如果我增加行数问题开始:In[259]:np.mean(Data[:237]['Cement'])Out[259]:inf但是当我查看数据时In[261]:Data[230:237]['Cement']Out[261]:array([[425.],[333.],[25

Python:如何将 .mean 的特定列添加到数据框

如何将b和c的方法添加到我的数据框中?我尝试了合并,但它似乎没有用。所以我想用df.groupBy('date').mean()的结果将两个额外的列b_mean和c_mean添加到我的数据框中数据框abcdate023511591123711我有以下代码importpandasaspda=[{'date':1,'a':2,'b':3,'c':5},{'date':1,'a':5,'b':9,'c':1},{'date':1,'a':3,'b':7,'c':1}]df=pd.DataFrame(a)x=df.groupby('date').mean()编辑:期望的输出如下df.group