20 EKİM 2011, PERŞEMBE
Üzerinden pandalar ile dataframes döngü için en etkili yolu nedir?
Sıralı bir şekilde dataframes finansal veriler üzerinde kendi karmaşık benim işlemleri gerçekleştirmek istiyorum.
Örneğin aşağıdaki MİCROSOFT CSV dosyası Yahoo Finance alınan kullanıyorum:
Date,Open,High,Low,Close,Volume,Adj Close
2011-10-19,27.37,27.47,27.01,27.13,42880000,27.13
2011-10-18,26.94,27.40,26.80,27.31,52487900,27.31
2011-10-17,27.11,27.42,26.85,26.98,39433400,26.98
2011-10-14,27.31,27.50,27.02,27.27,50947700,27.27
....
Ben şunları yapın:
#!/usr/bin/env python
from pandas import *
df = read_csv('table.csv')
for i, row in enumerate(df.values):
date = df.index[i]
open, high, low, close, adjclose = row
#now perform analysis on open/close based on date, etc..
Bu en etkili yoldur? Verilen odak hız pandalar, ben olsam kabul olmalı bazı özel işlev içinde yineleme değerleri bir şekilde o da alır Endeksi (muhtemelen bir jeneratör için bellek verimli)? df.iteritems
ne yazık ki sadece sütun dolaşır.
CEVAP
23 Temmuz 2012, PAZARTESİ
Pandalar en yeni sürümleri artık yerleşik bir satır üzerinden yineleme için işlevi vardır.
for index, row in df.iterrows():
# do some logic here
Ya da, eğer isterseniz daha hızlı itertuples()
kullanın
Ama, unutbu. numpy fonksiyonları satır üzerinden yineleme önlemek için öneri en hızlı kod üretecek.
Bunu Paylaş:
Bir nesneyi klonlamak için en etkili y...
HTML elemanları jQuery kullanarak oluş...
'çiftleri silmek için en etkili y...
Bir veritabanında etiketleri saklamak ...
JavaScript N dizileri bağlamak için en...