2016-02-08 3 views
-2

I have a pandas dataframe with following columns:Панды dataframe, макс выбора

Мне нужно написать функцию, которая принимает ДФ с данными и возвращает строку с кодом страны, которая ВВП является максимальным среди стран с площадью (кв км) меньше, чем 200 или которые население составляет менее 1000.

Как правильно написать этот код?

def find_country(df): 
    df.loc[((df.Area < 200).Max(df.GDP))|(df.Population < 1000)] 
+0

Просьба предоставить полный образец dataframe работать. –

+0

@FabioLamanna Я отредактировал сообщение –

ответ

0

Прежде всего, вы должны сделать свой первый столбец своим указателем. Это можно сделать, используя следующую команду:

df.set_index('Country', inlace = True) 

Предполагая, что вы хотите заменить свою фреймворк переработанной версией. Чтобы найти нужную страну, вы просто ищете дату, которая имеет максимальный ВВП, например, и возвращает свой индекс. Индекс индекса необходим для получения фактического значения индекса.

def find_Country(df): 
    return df[df['GDP'] == max(df['GDP'])].index[0] 

Я надеюсь, что это поможет, Fabian

Смежные вопросы