簡體   English   中英

python 2等同於帶有熊貓df的get_dummies

[英]python 2 equivalent to get_dummies with pandas df

我正在尋求有關為什么我的代碼無法使用以下示例數據使用dummie值訪問特定列值的明確說明:

df

            shop   category  subcategory     season
date                
2013-09-04  abc    weddings  shoes           winter
2013-09-04  def    jewelry   watches         summer
2013-09-05  ghi    sports    sneakers        spring
2013-09-05  jkl    jewelry   necklaces       fall

這是我的基本代碼:

wedding_df = df[["weddings","winter","summer","spring","fall"]]

我在筆記本電腦上使用的是Python 2,因此很可能是版本問題,需要get_dummies() ,但是一些指導會有所幫助。 想法是創建一個虛擬數據框,該數據框使用二進制數據來說明某行是否具有婚禮類別以及什么季節。

這是我要實現的示例:

        weddings    winter  summer  spring  fall
71654   1.0         0.0     1.0     0.0     0.0
72168   1.0         0.0     1.0     0.0     0.0
72080   1.0         0.0     1.0     0.0     0.0

corr()

         weddings   fall     spring    summer      winter
weddings NaN        NaN      NaN        NaN        NaN
fall     NaN       1.000000  0.054019   -0.331866   -0.012122
spring   NaN       0.054019  1.000000   -0.857205   0.072420
summer   NaN       -0.331866 -0.857205  1.000000    -0.484578
winter   NaN       -0.012122 0.072420   -0.484578   1.000000

您可以嘗試使用prefixprefix_sep將其分配為blank,然后就可以df[["weddings","winter","summer","spring","fall"]]

df = pd.get_dummies(df,prefix = '', prefix_sep = '' )
df
            abc  def  ghi  jkl  jewelry  sports  weddings  necklaces  shoes  \
date                                                                          
2013-09-04    1    0    0    0        0       0         1          0      1   
2013-09-04    0    1    0    0        1       0         0          0      0   
2013-09-05    0    0    1    0        0       1         0          0      0   
2013-09-05    0    0    0    1        1       0         0          1      0   
            sneakers  watches  fall  spring  summer  winter  
date                                                         
2013-09-04         0        0     0       0       0       1  
2013-09-04         0        1     0       0       1       0  
2013-09-05         1        0     0       1       0       0  
2013-09-05         0        0     1       0       0       0  

更新

pd.get_dummies(df.loc[df['category']=='weddings',['category','season']],prefix = '', prefix_sep = '' )
Out[820]: 
            weddings  winter
date                        
2013-09-04         1       1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM