Tái cấu trúc và kết hợp dữ liệu

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

Maria Eugenia Inzaugarat

Data Scientist

Tái cấu trúc và hàm thống kê

sales
                    office supply           Technology
         shop     online        onsite     online      onsite
country  year      
Italy    2017      310           123          510       340
         2018      110           100          610       120
Spain    2017      229           200          300       240
         2018      120           220          190       210
Tái định dạng dữ liệu với pandas

Hàm thống kê

 

  • Tổng: .sum()
  • Trung bình: .mean()
  • Trung vị: .median()
  • Hiệu: .diff()
Tái định dạng dữ liệu với pandas

Stack và thống kê

  • Tổng doanh số online và onsite theo năm ở hai quốc gia
sales.stack().sum(axis=1)
 country  year   shop  
 Italy    2017  online    820
                onsite    463
          2018  online    720
                onsite    220
 Spain    2017  online    529
                onsite    440
          2018  online    310
                onsite    430
Tái định dạng dữ liệu với pandas

Stack và thống kê

  • Tổng doanh số online và onsite theo năm ở hai quốc gia
sales.stack().sum(axis=1).unstack()
         shop online onsite
country  year        
 Italy   2017   820    463
         2018   720    220
 Spain   2017   529    440
         2018   310    430
Tái định dạng dữ liệu với pandas

Unstack và thống kê

  • Doanh số trung bình theo năm ở hai quốc gia
sales.unstack(level=0).mean(axis=1)
year
2017    281.5
2018    210.0
Tái định dạng dữ liệu với pandas

Unstack và thống kê

  • Chênh lệch doanh số giữa các năm
sales["office supply"].unstack(level='country')
Tái định dạng dữ liệu với pandas

Unstack và thống kê

  • Chênh lệch doanh số giữa các năm
sales["office supply"].unstack(level='country').diff(axis=1, periods=2) 
                         office supply
   shop         online          onsite
country   Italy  Spain   Italy   Spain
year                
2017      NaN     NaN   -187.0   -29.0
2018      NaN     NaN    -10.0   100.0
Tái định dạng dữ liệu với pandas

Tái cấu trúc và nhóm

  • Tổng số lượng theo từng sản phẩm bán online/onsite, không xét quốc gia
sales.stack().head(4)
                      office supply   Technology
country   year  shop        
 Italy    2017 online       310          510
               onsite       123          340
          2018 online       110          610
               onsite       100          120
Tái định dạng dữ liệu với pandas

Tái cấu trúc và nhóm

  • Tổng số lượng theo từng sản phẩm bán online/onsite, không xét quốc gia
sales.stack().groupby(level='shop').sum()
        office supply    Technology
shop        
online       769             1610
onsite       643             910
Tái định dạng dữ liệu với pandas

Tái cấu trúc sau khi nhóm

  • Trung vị số lượng theo năm
sales.groupby(level='year').median()
        office supply         Technology
shop    online  onsite    online   onsite
year                
2017     269.5  161.5      405.0   290.0
2018     115.0  160.0      400.0   165.0
Tái định dạng dữ liệu với pandas

Tái cấu trúc sau khi nhóm

  • Trung vị số lượng theo năm
sales.groupby(level=1).median().stack(level=[0, 1]).unstack(level='year')
                   year    2017     2018
                   shop        
Technology        online   405.0    400.0
                  onsite   290.0    165.0
office supply     online   269.5    115.0
                  onsite   161.5    160.0
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...