Liste benzeri bir sütunu dönüştürme

pandas ile Veriyi Yeniden Şekillendirme

Maria Eugenia Inzaugarat

Data Scientist

Liste benzeri sütunlar

Listeler içeren bir sütunlu DataFrame

pandas ile Veriyi Yeniden Şekillendirme

Liste benzeri sütunları dönüştürme

DataFrame'den explode edilmiş DataFrame'e ok işareti

pandas ile Veriyi Yeniden Şekillendirme

.explode() yöntemi

DataFrame'den explode edilmiş DataFrame'e ok işareti

explode yöntemi

pandas ile Veriyi Yeniden Şekillendirme

Bir sütunu patlatma (explode)

cities
          city  country               zip_code
0  Los Angeles      USA  [90001, 90004, 90008]
1       Madrid    Spain  [28001, 28004, 28005]
2        Rabat  Morocco         [10010, 10170]
pandas ile Veriyi Yeniden Şekillendirme

Bir sütunu patlatma (explode)

cities_explode = cities['zip_code'].explode()
cities_explode
0    90001
0    90004
0    90008
1    28001
1    28004
1    28005
2    10010
2    10170
pandas ile Veriyi Yeniden Şekillendirme

Bir sütunu patlatma (explode)

cities[['city', 'country']]
pandas ile Veriyi Yeniden Şekillendirme

Bir sütunu patlatma (explode)

cities[['city', 'country']].merge(cities_explode,                                  )
pandas ile Veriyi Yeniden Şekillendirme

Bir sütunu patlatma (explode)

cities[['city', 'country']].merge(cities_explode, left_index=True, right_index=True)
          city  country zip_code
0  Los Angeles      USA    90001
0  Los Angeles      USA    90004
0  Los Angeles      USA    90008
1       Madrid    Spain    28001
1       Madrid    Spain    28004
1       Madrid    Spain    28005
2        Rabat  Morocco    10010
2        Rabat  Morocco    10170
pandas ile Veriyi Yeniden Şekillendirme

DataFrame’de bir sütunu patlatma

cities_explode = cities.explode('zip_code')
cities_explode
          city  country zip_code
0  Los Angeles      USA    90001
0  Los Angeles      USA    90004
0  Los Angeles      USA    90008
1       Madrid    Spain    28001
1       Madrid    Spain    28004
1       Madrid    Spain    28005
2        Rabat  Morocco    10010
2        Rabat  Morocco    10170
pandas ile Veriyi Yeniden Şekillendirme

DataFrame’de bir sütunu patlatma

cities_explode.reset_index(drop=True, inplace=True)
          city  country zip_code
0  Los Angeles      USA    90001
1  Los Angeles      USA    90004
2  Los Angeles      USA    90008
3       Madrid    Spain    28001
4       Madrid    Spain    28004
5       Madrid    Spain    28005
6        Rabat  Morocco    10010
7        Rabat  Morocco    10170
pandas ile Veriyi Yeniden Şekillendirme

Boş listeler

cities_new
          city  country               zip_code
0  Los Angeles      USA  [90001, 90004, 90008]
1       Madrid    Spain                     []
2        Rabat  Morocco         [10010, 10170]
cities_new.explode('zip_code')
          city  country zip_code
0  Los Angeles      USA    90001
0  Los Angeles      USA    90004
0  Los Angeles      USA    90008
1       Madrid    Spain      NaN
2        Rabat  Morocco    10010
2        Rabat  Morocco    10170
pandas ile Veriyi Yeniden Şekillendirme

İşlemleri zincirleme

cities
          city  country             zip_code
0  Los Angeles      USA  90001, 90004, 90008
1       Madrid    Spain  28001, 28004, 28005
2        Rabat  Morocco         10010, 10170
pandas ile Veriyi Yeniden Şekillendirme

İşlemleri zincirleme

cities['zip_code'].str.split(',', expand=True)
       0       1       2
0  90001   90004   90008
1  28001   28004   28005
2  10010   10170    None
pandas ile Veriyi Yeniden Şekillendirme

İşlemleri zincirleme

cites.assign(zip_code=                                )
pandas ile Veriyi Yeniden Şekillendirme

İşlemleri zincirleme

cites.assign(zip_code=cities['zip_code'].str.split(','))
pandas ile Veriyi Yeniden Şekillendirme

İşlemleri zincirleme

cites.assign(zip_code=cities['zip_code'].str.split(',')).explode('zip_code')
          city  country zip_code
0  Los Angeles      USA    90001
0  Los Angeles      USA    90004
0  Los Angeles      USA    90008
1       Madrid    Spain    28001
1       Madrid    Spain    28004
1       Madrid    Spain    28005
2        Rabat  Morocco    10010
2        Rabat  Morocco    10170
pandas ile Veriyi Yeniden Şekillendirme

Hadi pratik yapalım!

pandas ile Veriyi Yeniden Şekillendirme

Preparing Video For Download...