繁体   English   中英

如何从单个列获取多个列?

[英]How to get multiple columns from a single column?

我有这样的专栏:

         Genre
Action|Crime|Drama|Thriller                 
Action|Crime|Thriller                          
Drama|Thriller                                 
Crime|Drama                                    
Horror|Thriller                                
Crime|Drama|Mystery|Thriller                   
Documentary                                    
Comedy|Crime                                   
Action|Adventure|Sci-Fi  
.....
so on.

我想要的是输出像多列:

it generate various column of genre eg:
action  scifi crime adventure . . . . .
0       1      0     1     0  
1       0      0     0     0

使用.str.splitstackget_dummies

df['Genre'].str.split('|',expand=True).stack().str.get_dummies().sum(level=0)

输出:

   Action  Adventure  Comedy  Crime  Documentary  Drama  Horror  Mystery  \
0       1          0       0      1            0      1       0        0   
1       1          0       0      1            0      0       0        0   
2       0          0       0      0            0      1       0        0   
3       0          0       0      1            0      1       0        0   
4       0          0       0      0            0      0       1        0   
5       0          0       0      1            0      1       0        1   
6       0          0       0      0            1      0       0        0   
7       0          0       1      1            0      0       0        0   
8       1          1       0      0            0      0       0        0   

   Sci-Fi  Thriller  
0       0         1  
1       0         1  
2       0         1  
3       0         0  
4       0         1  
5       0         1  
6       0         0  
7       0         0  
8       1         0  

首先获取该列,然后在此列上执行.values[0]
其次,使用先前生成的字符串,将其用|分隔。 进入列表。
使用df[df[list]]应该会给您所需的响应。

总结(对于单个条目):

genres = list(df['Genre'].values[0].split('|'))
df[genres]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM