我正在创建一个包含国家,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
答案 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