Pandas соответствующие значения столбца при использовании min - PullRequest
0 голосов
/ 13 июля 2020

У меня есть подобный словарю ниже. Я хочу найти минимум по возрасту и мне нужно найти ему соответствующее имя и фамилию.

 [ {
    "firstname": "abc",
    "lastname": "xyz",
    "date": "2020-05-16"
    "age": 15
    }]

Код

df= pd.DataFrame(dict)

for date, df_grp in df.groupby(['date']):
   min = df_grp['age'].min()
   firstName = ""
   lastName = ""

Я не уверен, как мне получить соответствующие имя и фамилия минимального значения. В этом случае «ab c» и «xyz».

1 Ответ

1 голос
/ 13 июля 2020

Предполагая, что у вас нет повторяющихся возрастов, вы можете использовать argmin () для возврата индекса минимального значения.

idx_min = df_grp['age'].argmin()
firstName = df_grp['firstname'][idx_min]
lastName = df_grp['lastname'][idx_min]

Если вместо этого вам нужно получить список индексов для каждого человека с минимальный возраст вы можете найти минимальный возраст и использовать функцию numpy argwhere ().

min = df_grp['age'].min()
idx_list = np.argwhere(df_grp['age']==min_val)

Это вернет список, содержащий индекс для каждой строки, содержащей человека с минимальным возрастом. Вы можете l oop просмотреть этот список, чтобы извлечь имена в соответствии с вашими потребностями.

...