在Python中查找数据帧中两列的最大值和最小值

时间:2019-11-12 16:57:29

标签: python-3.x pandas

我正在创建一个包含国家,GDP和人口的简单数据框。 我想从数据框中找到具有最大(GDP)和最小(人口)的国家。

尝试groupby,agg起作用,但无法获得匹配的结果。有人可以帮助使用Panda语法吗?

df1 = pd.DataFrame(data=np.array([['India',90, 40000],['Nepal',100, 3000],['SL',800, 2000]]),columns=['country','gdp', 'pop'])

  country  gdp    pop
0   India   90  40000
1   Nepal  100   3000
2      SL  800   2000

期望的输出:

SL 800 2000

1 个答案:

答案 0 :(得分:0)

您可以尝试:

df1 = pd.DataFrame(data=np.array([['India',90, 40000],['Nepal',100, 3000],['SL',800, 2000]]),columns=['country','gdp', 'pop'])

df1['gdp'] = df1['gdp'].astype('int')
df1['pop'] = df1['pop'].astype('int')

df1[(df1['gdp']==df1['gdp'].max()) & (df1['pop']==df1['pop'].min())]

结果:

  country  gdp   pop
2      SL  800  2000