Python 从GroupBy对象中提取特定值

Python 从GroupBy对象中提取特定值,python,pandas,dataframe,group-by,typeerror,Python,Pandas,Dataframe,Group By,Typeerror,运行Python 3.6.4、pandas 0.22和numpy 1.14.1 我希望从PandasGroupBy对象中提取特定值 我使用我的初始数据集,打开一个dataframe过滤掉不必要的列。然后我在做一个groupby,其中D、E、F、G和H列分别基于a、B和C列求和。这给了我需要从中提取值的数据集 首先,这里有一个我正在使用的组类型的示例。(也许这是可以纠正的) 如果有帮助的话,A、B和C列都是字符串,其中D到H都使用to_numeric方法转换为数字 接下来,我希望使用列a的最大值从

运行Python 3.6.4、pandas 0.22和numpy 1.14.1

我希望从Pandas
GroupBy对象中提取特定值

我使用我的初始数据集,打开一个
dataframe
过滤掉不必要的列。然后我在做一个
groupby
,其中D、E、F、G和H列分别基于a、B和C列求和。这给了我需要从中提取值的数据集

首先,这里有一个我正在使用的组类型的示例。(也许这是可以纠正的)

如果有帮助的话,A、B和C列都是字符串,其中D到H都使用
to_numeric
方法转换为数字

接下来,我希望使用列a的最大值从这个新数据集中提取一个特定值

我可以使用loc提取一个序列,但我想提取某个位置的值,然后将其插入另一个数据帧。也许loc会这样做,我只是想确定我从这个组中按对象提取的任何内容都会被放入新的
数据帧中。值是4,我得到一个变量=4,然后可以把它放到另一个
数据帧中

value = output.at[output.A.idxmax(), 'D']
我得到的错误是
TypeError:只有整数标量数组可以转换为标量索引

我最好的猜测是,这是基于这样一个事实:
groupby
返回一个
groupby对象
?或者这是否也适用于
groupby
对象

我的选择是什么?也许我的
groupby
错了?也许我不需要一个
groupby
?也许我可以将我的
groupby
对象转换为
dataframe
,然后运行
df.at
?感谢您的帮助

另外-如果我做错了什么,请帮助我理解“为什么?”以及修复的脚本。我非常有兴趣尽可能多地学习,而不是让每个人都为我工作。我喜欢python及其功能,但在这一点上我还是个新手

干杯

df=pd.DataFrame({'A':[1,1,3],'B':['Jon','Jon','Jane','C':['Jim','Jim','Jim'],'D':[10,20,30],'E':[24,45,56])

summed=df.groupby(['A','B','C']).sum().reset_index()

max\u a=summed[summed.a==summed.a.max()]


DataFrame.rest\u index
可能对您有用。如果列数超过A到H,只需确保在执行groupby、sum和reset_索引之前只选择这些列即可。祝你好运

非常感谢你给我的回答。我认为你的groupby声明也确实帮助我缩短了我的发言时间。干杯
value = output.at[output.A.idxmax(), 'D']