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

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • kindlechatmail

    kindlechatma

    25 AĞUSTOS 2010