pivot yöntemiyle yeniden şekillendirme

pandas ile Veriyi Yeniden Şekillendirme

Maria Eugenia Inzaugarat

Data Scientist

Uzundan genişe

  • İki sütun arasındaki ilişkiyi gösterin
  • Değişkenlerle zaman serisi işlemleri
  • Sütunların benzersiz değişken olmasını gerektiren işlem
1 https://pandas.pydata.org/docs/user_guide/reshaping.html
pandas ile Veriyi Yeniden Şekillendirme

Uzundan genişe

Uzun formatta bir DataFrame

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Uzundan geniş formata işaret eden ok

 

pandas pivot yöntem çağrısı

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Uzundan geniş formata işaret eden ok

 

Bağımsız değişkenleriyle pivot çağrısı

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Sütun ve indeks vurgulanmış uzun ve geniş DataFrame'ler

 

Sütun adıyla vurgulanmış index bağımsız değişkeni

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Sütun ve sütun adları vurgulanmış uzun ve geniş DataFrame'ler

 

Sütun adıyla vurgulanmış columns bağımsız değişkeni

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Sütun ve değerler vurgulanmış uzun ve geniş DataFrame'ler

 

Sütun adıyla vurgulanmış values bağımsız değişkeni

pandas ile Veriyi Yeniden Şekillendirme

Pivot yöntemi

Vurgulanmış bir NaN hücre değeri

 

Sütun adlarıyla vurgulanmış bağımsız değişkenler

pandas ile Veriyi Yeniden Şekillendirme

Bir veri kümesini pivotlama

fifa = pd.read_csv('fifa_players.csv')
fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
2   Cristiano Ronaldo      height            187             6.13
3     J. Oblak             height            188             6.16
pandas ile Veriyi Yeniden Şekillendirme

Bir veri kümesini pivotlama

fifa.pivot(index='name'                                            )
pandas ile Veriyi Yeniden Şekillendirme

Bir veri kümesini pivotlama

fifa.pivot(index='name', columns='variable'                        )
pandas ile Veriyi Yeniden Şekillendirme

Bir veri kümesini pivotlama

fifa.pivot(index='name', columns='variable', values='metric_system')
         variable  height   weight
             name        
Cristiano Ronaldo     187       83
         J. Oblak     188       87
pandas ile Veriyi Yeniden Şekillendirme

Birden çok sütunu pivotlama

fifa.pivot(index='name', columns='variable', values=['metric_system', 'imperial_system'])
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
pandas ile Veriyi Yeniden Şekillendirme

Birden çok sütunu pivotlama

 

Hiyerarşik sütun indeksiyle uzun formattan geniş formata ok

 

Sütun adlarıyla vurgulanmış index ve columns bağımsız değişkenleri

pandas ile Veriyi Yeniden Şekillendirme

Birden çok sütunu pivotlama

fifa.pivot(index="name", columns="variable")
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
pandas ile Veriyi Yeniden Şekillendirme

Yinelenen giriş hatası

another_fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
2   Cristiano Ronaldo      height            187             6.13
3            J. Oblak      height            188             6.16
4   Cristiano Ronaldo      height            187             6.14
pandas ile Veriyi Yeniden Şekillendirme

Yinelenen giriş hatası

another_fifa.head()
                 name    variable  metric_system  imperial_system
0   Cristiano Ronaldo      weight             83           183.00
1            J. Oblak      weight             87           191.00
  2   Cristiano Ronaldo      height            187             6.13 <--
3            J. Oblak      height            188             6.16
  4   Cristiano Ronaldo      height            187             6.14 <--
pandas ile Veriyi Yeniden Şekillendirme

Yinelenen giriş hatası

another_fifa.pivot(index="name", columns="variable")
ValueError: Index contains duplicate entries, cannot reshape

 

another_fifa = another_fifa.drop(4, axis=0)
another_fifa.pivot(index="name", columns="variable")
                     metric_system     imperial_system       
         variable   height  weight     height   weight
             name                                                         
Cristiano Ronaldo      187      83       6.13    183.0
         J. Oblak      188      87       6.16    191.0
pandas ile Veriyi Yeniden Şekillendirme

Hadi pratik yapalım!

pandas ile Veriyi Yeniden Şekillendirme

Preparing Video For Download...