2017-05-30 41 views
1

想USER_ID和技能數據幀矩陣轉換成零一個數據幀矩陣格式的用戶及其相應的技能轉換這道數據幀到在Python熊貓消除了「」零壹矩陣格式數據幀

輸入數據幀

 user_Id      skills 

0  user1    "java, hdfs, hadoop" 
1  user2    "python, c++, c" 
2  user3    "hadoop, java, hdfs" 
3  user4    "html, java, php" 
4  user5    "hadoop, php, hdfs" 

所需的輸出數據幀

user_Id  java c c++  hadoop hdfs python html php  

user1   1  0 0  1  1  0  0  0 
user2   0  1 1  0  0  1  0  0 
user3  1  0 0  1  1  0  0  0 
user4   1  0 0  0  0  0  1  1 
user5   0  0 0  1  1  0  0  1 

回答

0

對我的作品str.get_dummies + concat

df1 = df['skills'].str.get_dummies(', ') 
print (df1) 
    c c++ hadoop hdfs html java php python 
0 0 0  1  1  0  1 0  0 
1 1 1  0  0  0  0 0  1 
2 0 0  1  1  0  1 0  0 
3 0 0  0  0  1  1 1  0 
4 0 0  1  1  0  0 1  0 

df = pd.concat([df['user_Id'], df1], axis=1) 
print (df) 
    user_Id c c++ hadoop hdfs html java php python 
0 user1 0 0  1  1  0  1 0  0 
1 user2 1 1  0  0  0  0 0  1 
2 user3 0 0  1  1  0  1 0  0 
3 user4 0 0  0  0  1  1 1  0 
4 user5 0 0  1  1  0  0 1  0 

編輯:

如果沒有space,使用:

df1 = df['skills'].str.get_dummies(',') 
+0

由於現在的工作 –