通过分组来分隔列中的数据

时间:2019-01-08 19:16:49

标签: python pandas dataframe group-by

我有一个多列数据框,并希望通过基于另一列对它们进行分组来分离特定列中的数据。

这里是一个例子:

Public Shared Function VerificaEPessoaSingularObrigatorio(idRegisto As Long) As Boolean
        Return RepositorioEntidadesRegistadas.ObtemTipoEntidadeApenasSingular(BDContexto, idRegisto)
    End Function

我希望输出为:

ID     Name   Score
1      John   100
2      Lisa   80
3      David  75 
4      Lisa   92
5      John   89
6      Lisa   72

我了解我可以轻松使用以下代码:

index John Lisa David 0 100 80 75 1 89 92 NaN 2 NaN 72 NaN 并将John在数据框中获得的所有分数分开,但是由于我的数据框非常大,因此我希望得到一个干净的输出,如我在此处所示。

1 个答案:

答案 0 :(得分:1)

您可以使用pivot_table。您可以生成通过Name并采用cumcount对数据框进行分组分组所需的索引:

ix = df.groupby('Name').cumcount()
pd.pivot_table(df,'Score', ix, 'Name')

Name  David   John  Lisa
1      75.0  100.0  80.0
2       NaN   89.0  92.0
3       NaN    NaN  72.0