分组与分钟

时间:2016-06-29 08:15:40

标签: python pandas dataframe group-by

我有一个数据框,我得到以下内容:

   index1  index2   results
0       0       0  8.605016
1       0       1  8.600410
2       0       2  8.585075
3       1       0  8.550355
4       1       1  8.557221
5       1       2  8.557640
6       2       0  4.360486
7       2       1  4.362304
8       2       2  4.354539`

我希望按index1进行分组并获取最小值。我期待这样的输出:

   index1  index2   results
0       0       2  8.585075
1       1       0  8.550355
2       2       2  4.354539

1 个答案:

答案 0 :(得分:1)

我的解决方案有效,如果... issues = []; var self = this; ... var callback = function callback(response) { JSON.parse(response.content).issues.forEach(issue => { issuesList.push(new Issues(issue.id, issue.status.name, issue.tracker.name, issue.tracker.name)); self.issues = issuesList; i++; }) } this._issuesService.fetchIssues(callback); } 只有groupby - 那么您可以获得所需的输出。

您需要index1indexes值的minidxmin,然后按ix选择:

print (df.groupby('index1')['results'].idxmin())

print (df.ix[df.groupby('index1')['results'].idxmin()])
   index1  index2   results
2       0       2  8.585075
3       1       0  8.550355
8       2       2  4.354539

另一个解决方案是sort_valuesgroupby,汇总first

print (df.sort_values(by="results").groupby('index1', as_index=False).first())
   index1  index2   results
0       0       2  8.585075
1       1       0  8.550355
2       2       2  4.354539