草庐IT

subset-sum

全部标签

python - SQLAlchemy 中的 GroupBy 和 Sum?

我试图将表格中的几个字段分组,然后对这些组求和,但它们被重复计算了。我的模型如下:classCostCenter(db.Model):__tablename__='costcenter'id=db.Column(db.Integer,primary_key=True,autoincrement=True)name=db.Column(db.String)number=db.Column(db.Integer)classExpense(db.Model):__tablename__='expense'id=db.Column(db.Integer,primary_key=True,aut

python - PySpark DataFrame 上的 Sum 操作在类型正常时给出 TypeError

我在PySpark中有这样的DataFrame(这是一次take(3)的结果,dataframe很大):sc=SparkContext()df=[Row(owner=u'u1',a_d=0.1),Row(owner=u'u2',a_d=0.0),Row(owner=u'u1',a_d=0.3)]相同的owner将有更多的行。我需要做的是在分组后对每个所有者的字段a_d的值求和,如b=df.groupBy('owner').agg(sum('a_d').alias('a_d_sum'))但这会引发错误TypeError:unsupportedoperandtype(s)for+:'int

python - Python Pandas 中的 GroupBy 函数,如 SUM(col_1*col_2)、加权平均值等

是否可以在不使用的情况下直接计算两列的乘积(或例如总和)grouped.apply(lambdax:(x.a*x.b).sum()使用起来快很多(不到我机器上一半的时间)df['helper']=df.a*df.bgrouped=df.groupby(something)grouped['helper'].sum()df.drop('helper',axis=1)但我真的不喜欢必须这样做。例如,计算每组的加权平均值很有用。这里的lambda方法是grouped.apply(lambdax:(x.a*x.b).sum()/(df.b).sum())再一次比将helper除以b.sum()

python - 在大型 csv 文件上使用 sum() 的 pandas groupby?

我有一个大文件(19GB左右),我想将其加载到内存中以对某些列执行聚合。文件看起来像这样:id,col1,col2,col3,1,12,15,132,18,15,133,14,15,133,14,185,213请注意,我在加载到数据框后使用列(id,col1)进行聚合,还要注意这些键​​可能会连续重复几次,例如:3,14,15,133,14,185,213对于一个小文件,下面的脚本可以完成这项工作importpandasaspddata=pd.read_csv("data_file",delimiter=",")data=data.reset_index(drop=True).grou

javascript - 是否有等效于 Python 的 "sum"内置函数的 JavaScript 或 jQuery?

假设我有一个数组式的十进制数容器。我要总数。在Python中我会这样做:x=[1.2,3.4,5.6]sum(x)在JavaScript中有类似的简洁方法吗? 最佳答案 另一种方法,一个简单的迭代函数:functionsum(arr){varresult=0,n=arr.length||0;//mayuse>>>0toensurelengthisUint32while(n--){result+=+arr[n];//unaryoperatortoensureToNumberconversion}returnresult;}varx=[

python - 在 Django 中注释导致 'None' 值的 SUM 聚合函数

正在做我的第一个真正的Django项目,需要指导。背景:我的项目是一个reddit克隆。用户提交链接+文本。访客投票赞成或反对。有一个social_ranking算法,作为后台脚本每约2分钟运行一次,根据净票数和内容的新鲜度重新排列所有提交。相当普通的东西。问题:按votes排序无法正常工作,因为votes被初始化为None而不是0。这会导致投了None票的提交排名低于投反对票的提交。我已经调试了这个问题好几天了-运气不好。细节:我已经覆盖了模型的模型管理器,为查询集注释了一个Sum聚合函数,然后按“社会排名”和投票对所述查询集进行排序。下面是我的models.py。我使用的是Djan

python 和 NumPy : sum of an array slice

我有一个一维numpy数组(array_)和一个Python列表(list_)。以下代码有效,但效率低下,因为切片涉及不必要的副本(当然适用于Python列表,我相信也适用于numpy数组?):result=sum(array_[1:])result=sum(list_[1:])重写它的好方法是什么? 最佳答案 切片numpy数组不会生成副本,就像在列表的情况下那样。作为一个基本的例子:importnumpyasnpx=np.arange(100)y=x[1:5]y[:]=1000printx[:10]这会产生:[010001000

Python 数据框 : cumulative sum of column until condition is reached and return the index

我是Python的新手,目前面临一个我无法解决的问题。我真的希望你能帮助我。英语不是我的母语,所以如果我不能正确表达自己,我很抱歉。假设我有一个包含两列的简单数据框:indexNum_AlbumsNum_authors01041152443710004144538Num_Abums_tot=sum(Num_Albums)=30我需要对Num_Albums中的数据进行累加,直到达到某个条件。注册满足条件的索引,并从Num_authors中获取对应的值。例子:Num_Albums的累积总和,直到总和等于30的50%±1/15(-->15±2):10=15±2?No,thencontinue

Python 列表过滤 : remove subsets from list of lists

使用Python如何通过有序子集匹配减少列表列表[[..],[..],..]?在这个问题的上下文中,列表L是列表M的子集如果M包含L的所有成员,并以相同的顺序。例如,列表[1,2]是列表[1,2,3]的子集,但不是列表[2,1,3]的子集。示例输入:a.[[1,2,4,8],[1,2,4,5,6],[1,2,3],[2,3,21],[1,2,3,4],[1,2,3,4,5,6,7]]b.[[2,16,17],[1,2,3,4,5,6,7],[1],[1,2,3,4],[1,2],[17,18,19,22,41,48],[2,3],[1,2,3],[50,69],[1,2,3],[2,3

python - django 聚合 : sum then average

使用django的ORMannotate()和/或aggregate():我想根据一个类别字段进行汇总,然后对每个日期的类别值进行平均。我尝试使用两个annotate()语句来完成它,但得到了一个FieldError。我这样做:queryset1=self.data.values('date','category').annotate(sum_for_field=Sum('category'))它输出一个ValuesQuerySet对象,其中包含如下内容(因此每个类别值的总和):[{'category':'apples','date':'2015-10-12',sum_for_fiel