【python-如何比较pandas groupby对象的列值并将其汇总到新的列行中】教程文章相关的互联网学习教程文章

Python pandas使用滚动应用于矢量化方式的groupby对象来计算机动车辆beta【代码】

我有一个包含4列的大型数据框df:id period ret_1m mkt_ret_1m 131146 CAN00WG0 199609 -0.1538 0.047104 133530 CAN00WG0 199610 -0.0455 -0.014143 135913 CAN00WG0 199611 0.0000 0.040926 138334 CAN00WG0 199612 0.2952 0.008723 140794 CAN00WG0 199701 -0.0257 0.039916 143274 CAN00WG0 199702 -0.0038 -0.025442 145754 ...

python – Pandas groupby与dict【代码】

是否可以使用dict对列的元素进行分组? 例如:In [3]: df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],...: 'B' : np.random.randn(8)}) In [4]: df Out[4]: A B 0 one 0.751612 1 one 0.333008 2 two 0.395667 3 three 1.636125 4 two 0.916435 5 two 1.076679 6 one -0.992324 7 three -0.593476In [5]: d = {'one':'Start', 'two':'Start'...

python – pandas groupby没有按列分组转换为索引【代码】

pandas groupby的默认行为是将按列转换为索引,并将其从数据框的列列表中删除.例如,假设我有一个包含这些列的dataFramecol1|col2|col3|col4如果我通过这种方式使用列col2和col3来应用组df.groupby(['col2','col3']).sum()数据框df不再在列列表中包含[‘col2′,’col3’].它们会自动转换为结果数据帧的索引. 我的问题是如何在列上执行groupby并将该列保留在数据框中?解决方法: df.groupby(['col2','col3'], as_index=False).sum()

python – 使用pandas groupby计算唯一值【代码】

我有以下形式的数据:df = pd.DataFrame({'group': [1, 1, 2, 3, 3, 3, 4],'param': ['a', 'a', 'b', np.nan, 'a', 'a', np.nan] }) print(df)# group param # 0 1 a # 1 1 a # 2 2 b # 3 3 NaN # 4 3 a # 5 3 a # 6 4 NaN组内的非空值始终相同.我想为每个组(它存在的位置)计算一次非空值,然后查找每个值的总计数. 我目前正在以下(笨重和低效)的方式做到这一点:pa...

python – Pandas groupby和聚合输出应包括所有原始列(包括未聚合的列)【代码】

我有以下数据框架,并希望: >按月分组记录>每个唯一UPC_ID的Sum QTY_SOLD和NET_AMT(每月)>在结果数据框中包括其余列 我认为我可以做到这一点的方式是第一:创建一个月份列来聚合D_DATES,然后通过UPC_ID对QTY_SOLD求和. 脚本:# Convert date to date time object df['D_DATE'] = pd.to_datetime(df['D_DATE'])# Create aggregated months column df['month'] = df['D_DATE'].apply(dt.date.strftime, args=('%Y.%m',))# Group by m...

python – pandas中groupby中的as_index是什么?【代码】

pandas中groupby中as_index的功能到底是什么?解决方法:当你不理解某事时,print()是你的朋友.它多次清除疑惑. 看一看:import pandas as pddf = pd.DataFrame(data={'books':['bk1','bk1','bk1','bk2','bk2','bk3'], 'price': [12,12,12,15,15,17]})print(df)print(df.groupby('books', as_index=True).sum())print(df.groupby('books', as_index=False).sum())输出:books price 0 bk1 12 1 bk1 12 2 bk1 12 3...

python – GroupBy结果列表的列表【代码】

我有一张excel表,看起来像这样:Column1 Column2 Column3 0 23 1 1 5 2 1 2 3 1 19 5 2 56 1 2 22 2 3 2 4 3 14 5 4 59 1 5 44 1 5 1 2 5 87 3我希望提取该数据,将其按第1列分组,然后将其添加到字典中,使其显示如下:{0: [1], 1: [2,3,5], 2: [1,2], 3: [4,5], 4: [1], 5: [1,2,3]}到目...

python – 如何总结不同的groupby组合?【代码】

我正按照县编制一份前3种作物的表格.有些县的农作物品种相同.其他县以不同的顺序拥有相同的作物品种.df1 = pd.DataFrame( { "County" : ["Harney", "Baker", "Wheeler", "Hood River", "Wasco" , "Morrow","Union","Lake"] , "Crop1" : ["grain", "melons", "melons", "apples", "pears", "raddish","pears","pears"],"Crop2" : ["melons","grain","grain","melons","carrots","pears","carrots","carrots"],"Crop3": ["apples","a...

python – itertools.groupby()没有正确分组【代码】

我有这些数据:self.data = [(1, 1, 5.0),(1, 2, 3.0),(1, 3, 4.0),(2, 1, 4.0),(2, 2, 2.0)]当我运行此代码时:for mid, group in itertools.groupby(self.data, key=operator.itemgetter(0)):对于列表(组)我得到:[(1, 1, 5.0),(1, 2, 3.0),(1, 3, 4.0)]这就是我想要的. 但是,如果我使用1而不是0for mid, group in itertools.groupby(self.data, key=operator.itemgetter(1)):按元组中的第二个数字分组,我只得到:[(1, 1, 5.0)]即...

python – Pandas Groupby和Sum Only One Column【代码】

所以我有一个数据帧df1,如下所示:A B C 1 foo 12 California 2 foo 22 California 3 bar 8 Rhode Island 4 bar 32 Rhode Island 5 baz 15 Ohio 6 baz 26 Ohio我希望按列A进行分组,然后将列B加起来,同时保持列C中的值.这样的事情:A B C 1 foo 34 California 2 bar 40 Rhode Island 3 baz 41 Ohio问题是,当我说...

python – Pandas groupby.size vs series.value_counts vs collections.Counter with multiple series【代码】

有许多问题(1,2,3)涉及单个系列中的计数值. 但是,关于计算两个或更多系列组合的最佳方法的问题较少.提出了解决方案(1,2),但没有讨论何时以及为何应该使用每个解决方案. 以下是三种潜在方法的基准测试.我有两个具体问题: >为什么石斑鱼比计数更有效?我预计数量会更高效,因为它在C中实现.即使柱数从2增加到4,石斑鱼的优越性能仍然存在.>为什么value_counter表现得如此糟糕?这是由于从列表构建列表或系列的成本吗? 我理解输出是不...

如何使用groupby连接python pandas中的字符串?【代码】

我目前在顶部有数据框.有没有办法使用groupby函数来获取另一个数据帧来对数据进行分组,并使用python pandas将这些单词连接成下面的格式? 谢谢 [解决方法:您可以在groupby之后在列上应用联接:df.groupby('index')['words'].apply(','.join)例:In [326]: df = pd.DataFrame({'id':['a','a','b','c','c'], 'words':['asd','rtr','s','rrtttt','dsfd']}) dfOut[326]:id words 0 a asd 1 a rtr 2 b s 3 c rrttt...

python – Pandas GroupBy.apply方法重复第一组【代码】

我的第一个问题:我对pandas(0.12.0-4)中groupby的apply方法的这种行为感到困惑,它似乎将函数TWICE应用于数据帧的第一行.例如:>>> from pandas import Series, DataFrame >>> import pandas as pd >>> df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]}) >>> print(df)class count 0 A 1 1 B 0 2 C 2我首先检查groupby函数是否正常,看起来没问题:>>> for group in df.groupby...

python – 在有序分类列上使用groupby的奇怪行为【代码】

MCVEdf = pd.DataFrame({'Cat': ['SF', 'W', 'F', 'R64', 'SF', 'F'], 'ID': [1, 1, 1, 2, 2, 2] })df.Cat = pd.Categorical(df.Cat, categories=['R64', 'SF', 'F', 'W'], ordered=True)如您所见,我在Cat上定义了一个有序的分类列.验证,检查;0 SF 1 W 2 F 3 R64 4 SF 5 F Name: Cat, dtype: category Categories (4, object): [R64 < SF < F < W]我想找到最大的PER ID类别.做groupby max工作.df.groupb...

python – 更有效地使用itertools.groupby()【代码】

我正在努力增强我对itertools库的了解,因为它通常很有用.为此,我试图解决我遇到的一个采访益智游戏.其中很大一部分涉及顺序计算一个数字内的分组和重复数字的数量.例如,对于数字:1223444556我想要:[(1,1),(2,2),(1,3),(3,4),(2,5),(1,6)]也就是说,从左到右,有1个,2个,2个,1个,等等. 这是我目前的代码:from itertools import groupby groups_first = [int(''.join(v)[0]) for k,v in groupby(str(1223444556))] counts = [len(''...