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

  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • funbro1

    funbro1

    11 Aralık 2007
  • Ownage Pranks

    Ownage Prank

    13 AĞUSTOS 2007