计算数据框python列中的特定字符串

Ali*_*lan 1 python string count dataframe pandas

我有一个(101×1766)数据框,我放了一个样本。

Index  Id  Brand1   Brand2   Brand3
0      1   NaN      Good     Bad
1      2   Bad      NaN      NaN
2      3   NaN      NaN      VeryBad
3      4   Good     NaN      NaN
4      5   NaN      Good     VeryGood
5      6   VeryBad  Good     NaN
Run Code Online (Sandbox Code Playgroud)

我想要实现的是这样的桌子

Index  VeryBad   Bad    Good   VeryGood
Brand1  1        1      0      0
Brand2  0        0      3      0
Brand3  1        1      0      1
Run Code Online (Sandbox Code Playgroud)

我根本找不到解决方案,即使是错误的解决方案。

所以,希望看到你的帮助

WeN*_*Ben 5

让我们做两步:melt+crosstab

s=df.melt(['Id','Index'])
yourdf=pd.crosstab(s.variable,s.value)
yourdf
value     Bad  Good  VeryBad  VeryGood
variable                              
Brand1      1     1        1         0
Brand2      0     3        0         0
Brand3      1     0        1         1
Run Code Online (Sandbox Code Playgroud)