Почему оба этих фрагмента кода работают в пандах с: idxmax и idxmax ()? - PullRequest
0 голосов
/ 23 января 2019

Я заметил обе работы:

i_max = df.groupby(['driver'])['delay'].idxmax
df.iloc[i_max]

i_max = df.groupby(['driver'])['delay'].idxmax()
df.iloc[_imax]

Как это может быть и почему это так?Какие есть отличия?Когда вы должны использовать что?Имеет ли это значение?

Вот пример большего размера:

import numpy as np
lst = list(np.array([200.4, 143.5, 1252, 1357, 52.98] * 3) + np.arange(15))
dict = {"country": ["Brazil", "Russia", "India", "China", "South Africa"] * 3,
       "capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"] * 3,
       "area": [8.516, 17.10, 3.286, 9.597, 1.221] * 3,
       "population": lst }

import pandas as pd
brics = pd.DataFrame(dict)
#print(brics)
i_max = brics.groupby('country')['population'].idxmax()
result = brics.iloc[i_max]
print(result)
i_max = brics.groupby('country')['population'].idxmax
result = brics.iloc[i_max]
print(result)
...