草庐IT

groupby-agg

全部标签

python - 为通过 groupby 应用结果设置列名称

这是一个相当微不足道的问题,但它触发了我的强制症,在过去的半小时里我一直没能找到合适的解决方案。作为背景,我希望为DataFrame中的每个组计算一个值(我们称之为F),该值源自现有DataFrame中不同列的聚合度量。这是我正在尝试做的一个玩具示例:importpandasaspdimportnumpyasnpdf=pd.DataFrame({'A':['X','Y','X','Y','Y','Y','Y','X','Y','X'],'B':['N','N','N','M','N','M','M','N','M','N'],'C':[69,83,28,25,11,31,14,37,1

python - 什么时候使用 df.value_counts() 与 df.groupby ('...' ).count() 比较合适?

我听说在Pandas中通常有多种方法可以做同样的事情,但我想知道–如果我尝试按特定列中的值对数据进行分组并计算具有该值的项目数,什么时候使用df.groupby('colA').count()有意义什么时候使用df['colA'].value_counts()才有意义? 最佳答案 有区别value_counts返回:Theresultingobjectwillbeindescendingordersothatthefirstelementisthemostfrequently-occurringelement.但是count不是,它

python - pandas中是否有与.groupby相反的 "ungroup by"操作?

假设我们采用一个pandas数据框...nameagefamily0john111jason3612jane3213jack2624james302然后做一个groupby()...group_df=df.groupby('family')group_df=group_df.aggregate({'name':name_join,'age':pd.np.mean})然后做一些聚合/汇总操作(在我的示例中,我的函数name_join聚合名称):defname_join(list_names,concat='-'):returnconcat.join(list_names)因此,分组汇总输

python - 如何跨多列使用 groupby 转换

我有一个大数据框,我按1到n列分组,并且想跨两列(例如foo和bar)对这些组应用一个函数。这是一个示例数据框:foo_function=lambdax:np.sum(x.a+x.b)df=pd.DataFrame({'a':[1,2,3,4,5,6],'b':[1,2,3,4,5,6],'c':['q','q','q','q','w','w'],'d':['z','z','z','o','o','o']})#workswithapply,butIwanttransform:df.groupby(['c','d'])[['a','b']].apply(foo_function)#tra

python - 零值的 Pandas groupby

我在一个csv文件中有这样的数据SymbolActionYearAAPLBuy2001AAPLBuy2001BACSell2002BACSell2002我可以像这样阅读和分组df.groupby(['Symbol','Year']).count()我明白了ActionSymbolYearAAPL20012BAC20022我想要这个(顺序无关紧要)ActionSymbolYearAAPL20012AAPL20020BAC20010BAC20022我想知道是否可以计算零次出现 最佳答案 你可以使用这个:df=df.groupby(['S

postgresql - 如何将 PostgreSQL array_agg 函数转换为 SQLite?

此查询适用于PostgreSQL:Selectot.MCode,array_to_string(array_agg(tk1.TName||','||ot.TTime),'-')asoujyu_name_listFromTR_AotinnerjoinMS_Btk1onot.Code=tk1.CodeWhereot.Codein(SelectCodeFromTR_C)Groupbyot.MCode但它在SQLite中不起作用,因为SQLite没有array_agg()函数。如何将此查询转换为SQLite? 最佳答案 对于此查询,您可以使

c# - GroupBy 并计算列表中的唯一元素

我有一个只包含字符串的列表。我想做的是分组并返回一个计数。例如:Foo1Foo2Foo3Foo1Foo2Foo2会导致Foo1:2、Foo2:3、Foo3:1。我试过使用Linq,但列表中有一个GroupBy可能会起作用,但我搞砸了,无法确定用途:( 最佳答案 varlist=newList{"Foo1","Foo2","Foo3","Foo2","Foo3","Foo3","Foo1","Foo1"};vargrouped=list.GroupBy(s=>s).Select(group=>new{Word=group.Key,Co

c# - 具有可能的空对象的 Id 的 GroupBy

我有一个List每个Item都有一个Program,它有一个Id。如果一个项目还没有链接到一个程序,它的程序将为空。我想按它的程序ID对所有项目进行分组这是我试过的:varlistaAgrupada=client.ListarItens(null,null,null).GroupBy(x=>x.Programa.Id).ToList();如果所有项目都有一个程序,这就有效。但是如果程序为空,它会抛出System.NullReferenceException:Message="Objectreferencenotsettoaninstanceofanobject."我认为这是因为Prog

C# Groupby Linq 和 foreach

我需要一种更有效的方法来从我的数据组中生成多个文件。我正在使用Listtype并且我的对象有一些公共(public)属性,我需要根据这些属性对数据进行分组。我听说过Linq,它听起来像是我可以使用的东西。但是我不确定如何去做。我需要为每个STATE生成一个文本文件,因此将所有MyObjects分组(人)按州,然后运行​​foreach查看它们以构建TEXT文件。voidMain(){Listlst=newList();lst.Add(newMyObject{name="bill",state="nsw",url="microsoft.com"});lst.Add(newMyObject

c# - lambda 表达式中的 GroupBy

fromxinmyCollectiongroupxbyx.Idintoyselectnew{Id=y.Key,Quantity=y.Sum(x=>x.Quantity)};你会如何将上面的代码写成lambda表达式?我卡在groupinto部分。 最佳答案 查询延续(select...into和group...into,但不是join...into)等同于只是拆分查询表达式。所以我喜欢将您的示例视为:vartmp=fromxinmyCollectiongroupxbyx.Id;varresult=fromyintmpselectne