例如,我有一个这样的数据框:
Cat cat= new Cat1();
cat.meow();
我想得到一个像这样的数据框:
id 0 1 2 3 4 5
0 1 a b null c null null
1 2 null a null d e null
2 3 d null c null a null
3 4 null null d null b e
4 5 c a e b null b
该怎么做?谢谢!
编辑:
我试过了
id null a b c d e
0 1 3 1 1 1 0 0
1 2 3 1 0 0 1 1
2 3 3 1 0 1 1 0
3 4 3 0 1 0 1 1
4 5 1 1 2 1 0 1
就是这样!
答案 0 :(得分:3)
您需要get_dummies
df.fillna('null').set_index('id').stack().str.get_dummies().sum(level=0)
Out[637]:
a b c d e null
id
1 1 1 1 0 0 3
2 1 0 0 1 1 3
3 1 0 1 1 0 3
4 0 1 0 1 1 3
5 1 2 1 0 1 1