Найти - Пользователи
Полная версия: вопрос по PySpark
Начало » Python для новичков » вопрос по PySpark
1
pe1601@mail.ru
дата фрейм (df):

 | id | sum |
------------
| 1  | 123 |
| 2  | 548 |
| 3  | 999 |
(это упрощенная модель реального). необходимо получить значение id с максимальным sum. Делаю так:

 max=df.agg({'sum':'max'}).collect()[0][0]
#теперь перебором...
for i in df.collect():
  if i[0]==max:
     print(i[0])
очевидно что это дно(, но как сделать правильно?
xam1816
pe1601@mail.ru
очевидно что это дно(, но как сделать правильно?
Так почитайте про датафреймы, все расписано

  
max_sum = df.loc[df['sum'] == df['sum'].max()]
print(max_sum['id'].values[0])
pe1601@mail.ru
метод .loc? но это для библиотеки Pandas… а без нее можно обойтись?
ZerG
Плохо когда в гугле банят
https://stackoverflow.com/questions/33224740/best-way-to-get-the-max-value-in-a-spark-dataframe-column
Ведь тут ответы на ваш вопрос всеми методами включая sql диалект
А тут даже с картинкам
https://linuxhint.com/max-pyspark/
pe1601@mail.ru
точно, спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB