1 개 0 값 Dataframe 불평등의 크기와 요소의 목록을 사전 변환하는 방법

user3668129 :

내가 사용하고 있습니다 python 3.7.6

다음과 같이 나는 사전을 가지고 :

key   - string
value - list of strings

값 (목록)와 동일한 크기 아니다 .

예를 들어 :

 {'GP': ['col_1', 'col_2', 'col_3', 'col_4'], 
 'MIN': ['col_1', 'col_2', 'col_3', 'col_4'],
 'PTS': ['col_1', 'col_2', 'col_3', 'col_4'], 
 'FGM': ['col_1', 'col_2', 'col_4'], 
 'FGA': ['col_2'], 
 'FG%': ['col_2', 'col_3', 'col_4'],
 '3P Made': ['col_2', 'col_3'], 
 'AST': ['col_2', 'col_3'], 
 'STL': ['col_2'], 
 'BLK': ['col_2', 'col_3'],
 'TOV': ['col_3']}

나는이 사전을 변환 할 Dataframe키가 행과 열이 목록 값이며, 내용이 1 또는 0 (행이 목록의 값이 아닌지 따라 다름)입니다 :

            col_1       col_2       col_3    col_4  
 GP           1         1           1           1
 MIN          1         1           1           1 
 PTS          1         1           1           1 
 FGM          1         1           0           1 
 FGA          0         1           0           0 
 FG%          0         1           1           1
 3P Made      0         1           1           0
 AST          0         1           1           0
 STL          0         1           0           0
 BLK          0         1           1           0
 TOV          0         0           1           0

내가 어떻게 해 ?

이스 르엘 :

사용 MultiLabelBinarizerd.keys()d.values()사전 :

from sklearn.preprocessing import MultiLabelBinarizer

mlb = MultiLabelBinarizer()
df = pd.DataFrame(mlb.fit_transform(d.values()), index=d.keys(),columns=mlb.classes_)
print (df)
         col_1  col_2  col_3  col_4
GP           1      1      1      1
MIN          1      1      1      1
PTS          1      1      1      1
FGM          1      1      0      1
FGA          0      1      0      0
FG%          0      1      1      1
3P Made      0      1      1      0
AST          0      1      1      0
STL          0      1      0      0
BLK          0      1      1      0
TOV          0      0      1      0

팬더 유일한 해결책 만에 slowier Series, Series.str.joinSeries.str.get_dummies:

df = pd.Series(d).str.join('|').str.get_dummies()

추천

출처http://43.154.161.224:23101/article/api/json?id=365240&siteId=1