Группировка по переменной, сортировка и печать значений из другого столбца - PullRequest
1 голос
/ 28 июня 2019

У меня есть такой фрейм данных:

df = pd.DataFrame({'Subject': [101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102],
                   'Accuracy': [2, 0, 0, 0,4,4,6,4,3,3,3,6,6,6,4,3,2,7],
                   'Distance': [1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3],
                   'Onset': [1,7,8,9,1,5,5,3,2,6,7,8,9,5,4,3,2,4]})

Для каждого предмета я хочу напечатать CSV, который содержит Onsets для каждого расстояния. И начала будут отсортированы в порядке возрастания. Например, file_Subject101_Distance1.csv будет выглядеть так:

1 7 8

file_Subject101_Distance2.csv будет:

1 5 9

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

1 Ответ

3 голосов
/ 28 июня 2019

IIUC

for (s, d), g in df.groupby(['Subject', 'Distance']).Onset:
    with open(f"file_Subject{s}_Distance{d}.csv", mode='w') as fh:
        fh.write(" ".join(g.sort_values().astype(str)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...