Tôi có một khung dữ liệu trông như thế này:
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 RESIGNED 79 5622 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 RESIGNED 79 5622 NaN MALE Ira A. Eichner 1004 1996 AAR CORP 19550101 NaN 19961001 19990531 NaN RESIGNED 79 5622 NaN MALE 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
Đối với giá trị năm, tôi muốn thêm các cột năm [1993.1994 ..., 2009] vào khung dữ liệu gốc, nếu giá trị trong năm là năm 1992, thì giá trị trong cột 1992 nên là 1 nếu không 0.
Tôi đã sử dụng một vòng lặp rất ngu ngốc, nhưng nó dường như chạy mãi mãi khi tôi có một bộ dữ liệu lớn. Bất cứ ai có thể giúp tôi với nó, cảm ơn rất nhiều!
Ivanleoncz
8.0574 Huy hiệu vàng53 Huy hiệu bạc48 Huy hiệu đồng4 gold badges53 silver badges48 bronze badges
Hỏi ngày 22 tháng 4 năm 2014 lúc 1:19Apr 22, 2014 at 1:19
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
Nếu bạn muốn xóa cột YEAR
, thì bạn có thể theo dõi nó với del df['YEAR']
. Hoặc, thả cột YEAR
từ df
trước khi gọi concat
:
df = pd.concat[[df.drop['YEAR', axis=1], pd.get_dummies[df['YEAR']]], axis=1]
Đã trả lời ngày 22 tháng 4 năm 2014 lúc 1:51Apr 22, 2014 at 1:51
UnutbuUnutbuunutbu
799K172 Huy hiệu vàng1723 Huy hiệu bạc1624 Huy hiệu đồng172 gold badges1723 silver badges1624 bronze badges
3