2013-01-21 22 views

risposta

8

No, Panda è abbastanza ben collegato a CPython. Come hai detto tu, la cosa migliore da fare è fare l'analisi in CPython con Pandas ed esportare il risultato in CSV.

+1

Pandas fa affidamento su numpy, che a mia conoscenza ha ormai una solida porta su IronPython. Ma dipende anche da Cython e C per ottenere prestazioni elevate, giusto? Quest'ultimo è probabilmente il grande problema, non numpy. –

1

Per quanto riguarda l'opzione tra cui serializzazione:

sto ancora indagando caso simile - vogliamo elaborare il dati in python e quindi utilizzare i risultati in C#. Il nostro requisito era quello di (preferibilmente) mantenere indipendente la piattaforma della parte python in modo che possiamo eseguire il nostro numero di crunch su linux o windows. farla breve abbiamo deciso di utilizzare binari serializzazione/deserializzazione con messaggio Pack: http://msgpack.org/index.html

Noi convertire i valori dataframe per elencare, e serializzare al file:

import msgpack as mp 
data_as_list = df.values.tolist() 
mp.pack(data_as_list, open("d:\\msgpack1.mp",'wb')) 

Poi sul # lato C si usa il. implementazione netto di MessagePack per deserializzare i dati:

using MsgPack; 
var serializer = 
    SerializationContext.Default.GetSerializer<MessagePackObject[][]>(); 
var unpackedObject = serializer.Unpack(File.OpenRead("d:\\msgpack1.mp")); 

principali vantaggi di serializzazione binaria: