Показать фрукты, купленные конкретным студентом с соответствующей ценой - PullRequest
0 голосов
/ 23 декабря 2018

Есть разные имена, которые купили разные фрукты.Мне нужно имя человека и разные фрукты, которые он купил с указанной ценой

Это пример ввода

NAME    FRUIT     PRICE
akshay  apple       10
ashish  orange      20
vaibhav pinapple    30
nagesh  guava       10
akshay  guava       10
akshay  pinapple    30
ashish  pinapple    30
vaibhav apple       10
nagesh  guava       10

Человек купил разные фрукты, мне нужно отобразить его, не повторяяимя человека

Пример вывода

NAME    FRUIT    PRICE
akshay  apple    10
        guava    10
        pinapple 30
ashish  orange   20
        pinapple 30
vaibhav pinapple 30
        apple    10
nagesh  guava    10

Плод должен быть сгруппирован по имени

1 Ответ

0 голосов
/ 23 декабря 2018

Вы можете использовать sort_values в обоих столбцах и для замены дублированных значений в пустые строки добавить mask + duplicated:

df = df.sort_values(['NAME','FRUIT']).reset_index(drop=True)
df['NAME'] = df['NAME'].mask(df['NAME'].duplicated(), '')
print (df)
      NAME     FRUIT  PRICE
0   akshay     apple     10
1              guava     10
2           pinapple     30
3   ashish    orange     20
4           pinapple     30
5   nagesh     guava     10
6              guava     10
7  vaibhav     apple     10
8           pinapple     30

Другим возможным способом отображения является создание MutliIndex с помощью set_index + sort_index:

df = df.set_index(['NAME','FRUIT']).sort_index()
print (df)
                  PRICE
NAME    FRUIT          
akshay  apple        10
        guava        10
        pinapple     30
ashish  orange       20
        pinapple     30
nagesh  guava        10
        guava        10
vaibhav apple        10
        pinapple     30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...