草庐IT

python - Pandas:按平均值对列进行排序

我在Pandas中有一个数据框,我想根据其列的平均值(或例如通过它们的标准值)对其列进行排序(即获取新的数据框或View)。文档谈到sortingbylabelorvalue,但我找不到有关自定义排序方法的任何内容。我该怎么做? 最佳答案 您可以使用meanDataFrame方法和系列sort_values方法:In[11]:df=pd.DataFrame(np.random.randn(4,4),columns=list('ABCD'))In[12]:dfOut[12]:ABCD00.9330691.4324860.288637-

python - 使用 python pandas 计算增量平均值

我想生成一个作为时间序列增量平均值的序列。这意味着,从第一个日期(索引0)开始,存储在行x中的平均值是值的平均值[0:x]dataindexvaluemeanformula041526375.5average(0-3)445.2average(0-4)555.166666667average(0-5)665.285714286average(0-6)775.5average(0-7)我希望有一种方法可以做到这一点,而无需循环利用pandas。 最佳答案 这是更新版本Pandas的更新(从0.18.0开始)df['value'].ex

python - 单个函数的 Numpy 均值和方差?

使用Numpy/Python,是否可以从单个函数调用中返回均值和方差?我知道我可以分开做,但是计算样本标准差需要平均值。因此,如果我使用单独的函数来获取均值和方差,则会增加不必要的开销。我已尝试查看此处的numpy文档(http://docs.scipy.org/doc/numpy/reference/routines.statistics.html),但没有成功。 最佳答案 您不能将已知平均值传递给np.std或np.var,您必须等待newstandardlibrarystatisticsmodule,但与此同时,您可以使用以下

Python遍历数组,同时找到前k个元素的平均值

假设我有一个Python数组a=[3,5,2,7,5,3,6,8,4]。我的目标是一次遍历这个数组3个元素,返回三个元素中前2个元素的平均值。使用上面的数组,在我的迭代步骤中,前三个元素是[3,5,2],前2个元素的平均值是4。接下来的三个元素是>[5,2,7],前2个元素的均值是6。接下来的三个元素是[2,7,5],前2个元素的均值又是6....因此,上述数组的结果将是[4,6,6,6,5.5,7,7]。编写这样一个函数最好的方法是什么? 最佳答案 解决方案您可以对列表进行一些花哨的切片来操作元素的子集。只需抓取每三个元素的子列表

python - 如何使用 numpy 在二维数组上执行最大/均值池化

给定一个2D(MxN)矩阵和一个2DKernel(KxL),我如何返回一个矩阵,它是在图像上使用给定核进行最大或均值池化的结果?如果可能,我想使用numpy。注意:M、N、K、L既可以是偶数也可以是奇数,它们不需要完全被彼此整除,例如:7x5矩阵和2x2核。例如最大池化:matrix:array([[20,200,-5,23],[-13,134,119,100],[120,32,49,25],[-120,12,09,23]])kernel:2x2soln:array([[200,119],[120,49]]) 最佳答案 您可以使用s

python - 有没有任何pythonic方法可以找到数组中特定元组元素的平均值?

我想把这段代码写成pythonic。我的真实数组比这个例子大得多。(5+10+20+3+2)/5print(np.mean(array,key=lambdax:x[1]))TypeError:mean()gotanunexpectedkeywordargument'key'array=[('a',5),('b',10),('c',20),('d',3),('e',2)]sum=0foriinrange(len(array)):sum=sum+array[i][1]average=sum/len(array)print(average)importnumpyasnpprint(np.me

python - 使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值

我想与Python解决方案分享这个特定的ApacheSpark,因为它的文档很差。我想通过KEY计算K/V对的平均值(存储在PairwiseRDD中)。示例数据如下所示:>>>rdd1.take(10)#Showasmallsample.[(u'2013-10-09',7.60117302052786),(u'2013-10-10',9.322709163346612),(u'2013-10-10',28.264462809917358),(u'2013-10-07',9.664429530201343),(u'2013-10-07',12.461538461538463),(u'20

python - 获取多个 Pandas DataFrame 的平均值

我正在生成许多具有相同形状的数据框,我想将它们相互比较。我希望能够获得跨数据帧的平均值和中位数。Source.0Source.1Source.2Source.3cluster00.0011820.1845350.8142300.00005410.0000010.1604900.8395080.00000120.0000010.1738290.8261140.00005530.0004320.1800650.8195020.00000140.0001520.1570410.8426940.00011350.0001830.1741420.8256740.00000160.0000010.

python - 计算 pandas 中的行平均值

Y1961Y1962Y1963Y1964Y1965Region082.56730783.10475783.18370083.03033882.831958US12.6993722.6101102.5879192.6964512.846247US214.13135513.69002813.59951613.64917613.649046US30.0485890.0469820.0465830.0462250.051750US40.5533770.5481230.5822820.5778110.620999US在上面的数据框中,我想得到每一行的平均值。目前,我正在这样做:df.mean(a

python - NumPy:用 NaN remove 计算平均值

如何沿矩阵计算矩阵平均值,但要从计算中删除nan值?(对于R人,请考虑na.rm=TRUE)。这是我的[非]工作示例:importnumpyasnpdat=np.array([[1,2,3],[4,5,np.nan],[np.nan,6,np.nan],[np.nan,np.nan,np.nan]])print(dat)print(dat.mean(1))#[2.nannannan]删除NaN后,我的预期输出将是:array([2.,4.5,6.,nan]) 最佳答案 我认为你想要的是一个掩码数组:dat=np.array([[1,