powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python -> Pandas - rank()
3 сообщений из 3, страница 1 из 1
Python -> Pandas - rank()
    #40103417
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

у меня есть DataFrame (скрин ниже). В новом столбце я пытаюсь получить рейтинг по столбцу 'price' относительно столбцов 'name' и 'country'. Пытаюсь это сделать с помощью https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rank.html но не слишком успешно.

Необходимо получить вот такой результат который указан в столбце 'rank'. Буду благодарен за помощь.
[img=]
...
Рейтинг: 0 / 0
Python -> Pandas - rank()
    #40103464
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Caxa_ASS,
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
import pandas as pd
x=[['sql',3],['sql',1],['ru',4],['ru',6],['ru',2]]
y=pd.DataFrame(x)
y.columns=['cat','val']
y=y.sort_values(['cat','val'],ascending=[False,True])
y['rank']=y.groupby('cat')['val'].rank("dense", ascending=True)
y['rank']=y['rank'].astype('int8')
y
...
Рейтинг: 0 / 0
Python -> Pandas - rank()
    #40103512
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

Спасибо, увидел Ваше решение и реализовал через lambda:

Код: python
1.
df['rank'] = df.groupby('name')['price'].apply(lambda x: x.sort_values().rank())
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python -> Pandas - rank()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]