J'ai une trame de données qui ressemble à ceci:
JOINED_CO GENDER EXEC_FULLNAME GVKEY YEAR CONAME BECAMECEO REJOIN LEFTOFC LEFTCO RELEFT REASON PAGE CO_PER_ROL 5622 NaN MALE Ira A. Eichner 1004 1992 AAR CORP 19550101 NaN 19961001 19990531 NaN MALE] Ira A. Eichner 1004 1993 AAR CORP 19550101 NaN 19961001 19990531 NaN RESIGNED 79 5622 NaN MALE Ira A. Eichner 1004 1994 AAR CORP 19550101 NaN 19961001 19990531 NaN RESIGNED 79 5622 NaN MALE Ira A. Eichner 1004 1995 AAR CORP 19550101 NaN 19961001 19990531 NaN RÉSIGNÉ 79 5622 NaN MÂLE Ira A. Eichner 1004 1996 AAR CORP 19550101 NaN 19961001 19990531 NaN RÉSIGNÉ 79 5622 NaN MÂLE Ira A. Eichner 1004 1997 AAR CORP 19550101 NaN 19961001 19990531 NaN RESIGNED 79 5622 NaN MALE Ira A. Eichner 1004 1998 AAR CORP 19550101 NaN 19961001 19990531 NaN RESIGNED 79 5623 NaN MALE David P. Storch 1004 1992 AAR CORP 19961009 NaN NaN NaN NaN NaN 57 5623 NaN MALE David P. Storch 1004 1993 AAR CORP 19961009 NaN NaN NaN NaN NaN 57 5623 NaN MALE David P. Storch 1004 1994 AAR CORP 19961009 NaN NaN NaN NaN NaN 57 5623 NaN MALE David P. Storch 1004 1995 AAR CORP 19961009 NaN NaN NaN NaN NaN 57 5623 NaN MALE David P. Storch 1004 1996 AAR CORP 19961009 NaN NaN NaN NaN NaN 57
Pour la valeur YEAR, j'aime ajouter des colonnes year (1993,1994 ..., 2009) à la trame de données d'origine.Si la valeur YEAR est 1992, alors la valeur dans la colonne 1992 doit être 1 sinon 0.
J'ai utilisé une boucle for très stupide, mais elle semble fonctionner indéfiniment car j'ai un grand ensemble de données. Quelqu'un pourrait-il m'aider, merci beaucoup!
In [77]: df = pd.concat([df, pd.get_dummies(df['YEAR'])], axis=1); df
Out[77]:
JOINED_CO GENDER EXEC_FULLNAME GVKEY YEAR CONAME BECAMECEO \
5622 NaN MALE Ira A. Eichner 1004 1992 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1993 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1994 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1995 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1996 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1997 AAR CORP 19550101
5622 NaN MALE Ira A. Eichner 1004 1998 AAR CORP 19550101
5623 NaN MALE David P. Storch 1004 1992 AAR CORP 19961009
5623 NaN MALE David P. Storch 1004 1993 AAR CORP 19961009
5623 NaN MALE David P. Storch 1004 1994 AAR CORP 19961009
5623 NaN MALE David P. Storch 1004 1995 AAR CORP 19961009
5623 NaN MALE David P. Storch 1004 1996 AAR CORP 19961009
REJOIN LEFTOFC LEFTCO RELEFT REASON PAGE 1992 1993 1994 \
5622 NaN 19961001 19990531 NaN RESIGNED 79 1 0 0
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 1 0
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 0 1
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 0 0
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 0 0
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 0 0
5622 NaN 19961001 19990531 NaN RESIGNED 79 0 0 0
5623 NaN NaN NaN NaN NaN 57 1 0 0
5623 NaN NaN NaN NaN NaN 57 0 1 0
5623 NaN NaN NaN NaN NaN 57 0 0 1
5623 NaN NaN NaN NaN NaN 57 0 0 0
5623 NaN NaN NaN NaN NaN 57 0 0 0
1995 1996 1997 1998
5622 0 0 0 0
5622 0 0 0 0
5622 0 0 0 0
5622 1 0 0 0
5622 0 1 0 0
5622 0 0 1 0
5622 0 0 0 1
5623 0 0 0 0
5623 0 0 0 0
5623 0 0 0 0
5623 1 0 0 0
5623 0 1 0 0
Si vous souhaitez supprimer la colonne YEAR
, vous pouvez poursuivre avec del df['YEAR']
. Ou, supprimez la colonne YEAR
de df
avant d'appeler concat
:
df = pd.concat([df.drop('YEAR', axis=1), pd.get_dummies(df['YEAR'])], axis=1)