Pandas serilerinde vektörleştirme

pandas ile Verimli Kod Yazma

Leonidas Souliotis

PhD Candidate

Diziler olarak DataFrame'ler

GitHub Logosu

pandas ile Verimli Kod Yazma

Pandas vektörleştirme nasıl yapılır

start_time = time.time()
poker[['R1', 'R2', 'R3', 'R4', 'R5']].sum(axis=1)
print("Time using pandas vectorization: {} sec".format(time.time() - start_time))
Time using pandas vectorization: 0.0026819705 sec
poker[['R1', 'R2', 'R3', 'R4', 'R5']].sum(axis=1).head()
|              |    | 
|--------------|----| 
| 0            | 47 | 
| 1            | 47 | 
| 2            | 47 | 
| 3            | 47 | 
| 4            | 47 | 
| dtype: int64 | -- |
pandas ile Verimli Kod Yazma

Önceki yöntemlerle karşılaştırma

data_generator = data.iterrows()

start_time = time.time()
for index, value in data_generator:
        sum([value[1], value[3], value[5], value[7]])
print("Time using .iterrows(){} seconds" % (time.time() - start_time))
Yukarıdaki işlem 3.37918996 saniyede hesaplandı
start_time = time.time()
data[['R1', 'R2', 'R3', 'R4', 'R5']].apply(lambda x: sum(x),axis=1)
print("Results from the above operation calculated in %s seconds" % (time.time() - start_time))
Yukarıdaki işlem 0.637711048 saniyede hesaplandı
- Vektörleştirme ile `.iterrows()` farkı: %111.800,75
- Vektörleştirme ile `.apply()` farkı: %20.853
pandas ile Verimli Kod Yazma

Hadi yapalım!

pandas ile Verimli Kod Yazma

Preparing Video For Download...