SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • ravinderosahn

    ravinderosah

    20 Temmuz 2009