【问题标题】:Finding counts of unique values in column for each unique value in other column为其他列中的每个唯一值查找列中唯一值的计数
【发布时间】:2019-03-05 02:10:22
【问题描述】:

我有一个包含四列、track、num_tracks 播放列表、cluster 的数据框。我的目标是创建一个新的数据框,该数据框将输出一行,其中包含集群中每个唯一值的轨道、pid 和列及其相应的计数。

这是一个示例数据框:

pid          track          cluster          num_track
0            1              6                4
0            2              1                4
0            3              6                4
0            4              3                4
1            5              10               3
1            6              10               3
1            7              1                4
2            8              9                5
2            9              11               5
2            10             2                5
2            11             2                5
2            12             2                5

所以我想要的输出是:

pid track cluster num_track c1 c2 c3 c4 c5 c6 c7 ... c12
0   1     6       4         1  0  1  0  0  2  0      0
0   2     1       4         1  0  1  0  0  2  0      0
0   3     6       4         1  0  1  0  0  2  0      0
0   4     3       4         1  0  1  0  0  2  0      0
1   5     10      3         1  0  0  0  0  0  0      0
1   6     10      3         1  0  0  0  0  0  0      0
1   7     1       3         1  0  0  0  0  0  0      0
2   8     9       5         0  3  0  0  0  0  0      0
2   9     11      5         0  3  0  0  0  0  0      0
2   10    2       5         0  3  0  0  0  0  0      0
2   11    2       5         0  3  0  0  0  0  0      0
2   12    2       5         0  3  0  0  0  0  0      0

如果有任何不正确的地方告诉我,我希望我已经正确地提出了我的问题!我还没有足够的代表来设置赏金,但是当我有足够的时候可以重新发布。 任何帮助将不胜感激!

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以将crosstabreindex 一起使用,然后将concat 恢复为原始df

    s=pd.crosstab(df.pid,df.cluster).reindex(df.pid)
    s.index=df.index
    df=pd.concat([df,s.add_prefix('c')],1)
    df
    Out[209]: 
        pid  track  cluster  num_track  c1  c2  c3  c6  c9  c10  c11
    0     0      1        6          4   1   0   1   2   0    0    0
    1     0      2        1          4   1   0   1   2   0    0    0
    2     0      3        6          4   1   0   1   2   0    0    0
    3     0      4        3          4   1   0   1   2   0    0    0
    4     1      5       10          3   1   0   0   0   0    2    0
    5     1      6       10          3   1   0   0   0   0    2    0
    6     1      7        1          4   1   0   0   0   0    2    0
    7     2      8        9          5   0   3   0   0   1    0    1
    8     2      9       11          5   0   3   0   0   1    0    1
    9     2     10        2          5   0   3   0   0   1    0    1
    10    2     11        2          5   0   3   0   0   1    0    1
    11    2     12        2          5   0   3   0   0   1    0    1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      相关资源
      最近更新 更多