Python 从中的子组获取统计信息

Python 从中的子组获取统计信息,python,pandas,itertools,Python,Pandas,Itertools,我有一个数据帧,其中df['two']=0被过滤,然后我将其分组在连续的“子组”中,在“结果”中显示答案 现在我的问题是,我如何使用“results”的值并返回以获取特定列的每个不同子组的统计信息 例如,如果我想知道第二个“子组”(结果中的[5,6])的df['three']的平均值,那么它将是第五行和第六行的“three”列的平均值,因此平均值为5和8。 或者如果我想知道第三个“子群”[9,10,11,12,13]的最大值是26 如果必须在“结果”中保留原始值,则可以使用另一个列表来“移位”索

我有一个数据帧,其中df['two']=0被过滤,然后我将其分组在连续的“子组”中,在“结果”中显示答案

现在我的问题是,我如何使用“results”的值并返回以获取特定列的每个不同子组的统计信息

例如,如果我想知道第二个“子组”(结果中的[5,6])的df['three']的平均值,那么它将是第五行和第六行的“three”列的平均值,因此平均值为5和8。
或者如果我想知道第三个“子群”[9,10,11,12,13]的最大值是26

如果必须在“结果”中保留原始值,则可以使用另一个列表来“移位”索引(结果[1]中的值1用于[5,6]的第一个示例):

然后获取您的子集:

sub = df.iloc[results2]
并计算平均值:

sub['three'].mean()

实际上,只要稍微调整一下你的答案,并意识到你是如何使用iloc的,我就知道我需要什么了。在对某人有用的情况下发布:

而不是这样做,只会得到子组1的统计信息:

results2=[]
for item in results[1]:
    results2.append(item -1)
sub = df.iloc[results2]
sub['three'].mean()
我只是这样做了,这会给你每个小组的平均值(或者你需要的任何东西)

for z in range(len(results)):
    sub =  df.iloc[results[z]]
    print sub['three'].mean()  

谢谢你的回答。以前还不够清楚。如果我需要得到一个非常大的数据库中每个子组的平均值,而不仅仅是其中一个,该怎么办?在“结果中的项目[i]”之前尝试执行“范围中的项目(len(results))”,但不为我工作。。。
results2=[]
for item in results[1]:
    results2.append(item -1)
sub = df.iloc[results2]
sub['three'].mean()
for z in range(len(results)):
    sub =  df.iloc[results[z]]
    print sub['three'].mean()