2013-01-21 21 views

Odpowiedz

8

Nie, Panda jest dość dobrze przywiązana do CPython. Tak jak powiedziałeś, najlepiej jest wykonać analizę w CPython za pomocą Pand i wyeksportować wynik do pliku CSV.

+1

Panda polega na numpy, która według mojej wiedzy ma już całkiem niezły port IronPython. Ale to także zależy od Cythona i C, aby osiągnąć wysoką wydajność, prawda? To ostatnie jest prawdopodobnie dużym problemem, a nie numpy. –

1

Odnośnie opcji w tym serializacji:

ja nadal bada podobny przypadek - chcemy przetwarzać danych w python, a następnie użyj wyników w języku C#. Naszym wymaganiem było (najlepiej) utrzymywanie niezależności platformy Pythona, abyśmy mogli uruchomić naszą liczbę kompresji na Linuksie lub w oknach. Krótko mówiąc zdecydowaliśmy się użyć binarny serializacji/deserializacji z komunikatem pakietu: http://msgpack.org/index.html

Konwertujemy wartości DataFrame do listy i serializacji do pliku:

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

Następnie na # boku C możemy użyć. realizacja netto MessagePack deserializacji dane:

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

Główne zalety serializacji binarnej:

Powiązane problemy