Bỏ xếp chồng DataFrame

Tái định dạng dữ liệu với pandas

Maria Eugenia Inzaugarat

Data Scientist

Ôn tập

Hai DataFrame sắp xếp lại và phương thức stack

Tái định dạng dữ liệu với pandas

Hoàn tác quá trình xếp chồng

Mũi tên từ DataFrame đã xếp chồng sang DataFrame bỏ xếp chồng

Tái định dạng dữ liệu với pandas

Phương thức .unstack()

Quy trình đảo ngược của stack

  phương thức unstack

Tái định dạng dữ liệu với pandas

Phương thức .unstack()

Chuyển một level của chỉ mục hàng sang cột để tạo DataFrame đổi hình với một level chỉ mục cột mới ở trong cùng.

Các cột đã sắp lại được tô sáng

Tái định dạng dữ liệu với pandas

Bỏ xếp chồng Series

churn_stacked
member  credit_card              
yes     no           credit_score        619
                     age                  43
                     country          France
                     num_products          1
                     churn               Yes
no      yes          credit_score        608
                     age                  34
                     country         Germany
                     num_products          0
                     churn                No
yes     yes          credit_score        502
                     age                  23
                     country          France
                     num_products          1
                     churn               Yes
Tái định dạng dữ liệu với pandas

Bỏ xếp chồng Series

churned_stacked.unstack()
                    credit_score age  country  num_products exited
member credit_card
    no         yes           608  34  Germany             0     No
   yes          no           619  43   France             1    Yes
               yes           502  23   France             1    Yes
Tái định dạng dữ liệu với pandas

Bỏ xếp chồng DataFrame

patients_stacked
                  year  2019 2020
  first   last feature          
   Wick   John     age    25   26 
                weight    68   72
        Julien     age    31   32
                weight    72   73
Shelley   Mary     age    41   42
                weight    68   69
         Frank     age    32   33
                weight    75   74
Tái định dạng dữ liệu với pandas

Bỏ xếp chồng DataFrame

patients_stacked.unstack()
                       2019       2020
        feature  age weight age weight
   last   first
Shelley   Frank   32     75  33     74
           Mary   41     68  42     69
   Wick    John   25     68  26     72
         Julien   31     72  32     73
Tái định dạng dữ liệu với pandas

Bỏ xếp chồng theo level

DataFrame với level đã chọn được bỏ xếp chồng

Phương thức unstack với level chỉ định

Tái định dạng dữ liệu với pandas

Bỏ xếp chồng theo số thứ tự level

churn_stacked.head(10)
member  credit_card              
yes     no           credit_score        619
                     age                  43
                     country          France
                     num_products          1
                     churn               Yes
no      yes          credit_score        608
                     age                  34
                     country         Germany
                     num_products          0
                     churn                No
churn_stacked.unstack(level=0)
                   member     no    yes
credit_card            
         no credit_score     NaN    619
                     age     NaN     43
                 country     NaN France
            num_products     NaN      1
                   churn     NaN    Yes
        yes credit_score     608    502
                     age      34     23
                 country Germany France
            num_products       0      1
                   churn      No    Yes
Tái định dạng dữ liệu với pandas

Bỏ xếp chồng theo tên level

churn_stacked.head(10)
member  credit_card              
yes     no           credit_score        619
                     age                  43
                     country          France
                     num_products          1
                     churn               Yes
no      yes          credit_score        608
                     age                  34
                     country         Germany
                     num_products          0
                     churn                No
churn_stacked.unstack(level='credit_card')
             credit_card      no     yes
     member            
         no credit_score     NaN     608
                     age     NaN      34
                 country     NaN Germany
            num_products     NaN       0
                   churn     NaN      No
        yes credit_score     619     NaN
                     age      43     NaN
                 country  France     NaN
            num_products       1     NaN
                   churn     Yes     NaN
Tái định dạng dữ liệu với pandas

Sắp xếp chỉ mục

patients_stacked.unstack().sort_index(ascending=False)
           year         2019       2020
        feature   age weight age weight 
   last   first
   Wick  Julien    31     72  32     73 
           John    25     68  26     72
Shelley    Mary    41     68  42     69
          Frank    32     75  33     74
Tái định dạng dữ liệu với pandas

Sắp xếp lại level

patients_stacked
                  year  2019 2020
  first   last feature          
   Wick   John     age    25   26 
                weight    68   72
        Julien     age    31   32
                weight    72   73
Shelley   Mary     age    41   42
                weight    68   69
         Frank     age    32   33
                weight    75   74
patients_stacked.unstack(level=1).stack(level=0)
first                 Frank  John  Julien  Mary
 last   feature year                           
Shelley age     2019   32.0   NaN     NaN  41.0
                2020   33.0   NaN     NaN  42.0
        weight  2019   75.0   NaN     NaN  68.0
                2020   74.0   NaN     NaN  69.0
Wick    age     2019    NaN  25.0    31.0   NaN
                2020    NaN  26.0    32.0   NaN
        weight  2019    NaN  68.0    72.0   NaN
                2020    NaN  72.0    73.0   NaN
Tái định dạng dữ liệu với pandas

Ayo berlatih!

Tái định dạng dữ liệu với pandas

Preparing Video For Download...