Python 按变量分组、排序和打印另一列中的值

Python 按变量分组、排序和打印另一列中的值,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有这样一个数据框: 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

我有这样一个数据框:

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,其中包含每个距离的onset。并且,onset将按升序排序。例如,文件\u Subject101\u distance 1.csv看起来像:

1 7 8
文件\u Subject101\u distance 2.csv将是:

1 5 9
(因为它们会被分类)等等。我可以对熊猫进行分类,并使用了“groupby”,但不知道如何将它们组合在一起做我想做的事情(或者如果这是最好的方式)。

IIUC
这几乎是完美的!但是csv文件中的#没有顺序更新。现在检查一下。
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)))