从pandas中的数据框中获取第1列中的值=指定的第2列的最大值

时间:2017-11-26 11:39:15

标签: python pandas

我有一个pandas数据框。例如:

df=
  paper id  year
0         3  1997
1         3  1999
2         3  1999
3         3  1999
4         6  1997
                so on

我希望最大年份对应于作为输入的纸张ID。例如,如果给出的论文ID是3,我希望1999作为答案。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

有两种常规解决方案 - 首先过滤,然后获取 final Options data = dataList.get(position); holder.optionsNameTV.setText(data.getName()); final List<String> options = new ArrayList<>(); for (int i = 0; i < data.getProductOptionValueItemList().size(); i++) { ProductOptionValueItem item = data.getProductOptionValueItemList().get(i); Log.e("Option", " option name = "+ item.getName()); options.add(item.getName()); }

max
s = df.loc[df['paper id'] == 3, 'year'].max()
print (s)
1999

或将s = df.set_index('paper id').loc[3, 'year'].max() print (s) 1999 汇总到max,然后按Series值进行选择:

index