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)
我根本找不到解决方案,即使是错误的解决方案。
所以,希望看到你的帮助
让我们做两步: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)