Отображение отображения один-ко-многим в кадре данных панд после группового - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть DataFrame, подобный этому

import pandas as pd
df = pd.DataFrame({"Name" : ["a", "a", "b", "b", "b"], "Numbers" : [1, 3, 2, 4, 6]})

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

df.groupby(["Name"]).agg({"Numbers" : lambda x : list(x)}).reset_index()

, который отображается как это .Я хочу «развернуть» список, чтобы сделать его примерно таким:

"a"    1
       3
"b"    2
       4
       6

Как мне это сделать.Я попытался получить "\n".join(list(x)), но вместо отображения в новых строках он показывает \n символов.

1 Ответ

0 голосов
/ 13 декабря 2018
def unroll(g):
    is_first = True
    num = g[1].values.tolist()
    print(g[0], num[0][0])
    for n in num:
        print(" ", n[0])

for x in df.groupby('Name'):
    unroll(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...