2013-01-21 15 views
6

क्या हम लौह पायथन का उपयोग कर .NET स्पेस में पांडा डेटाफ्रेम लोड कर सकते हैं? यदि नहीं, तो मैं पांडा डीएफ को एक सीएसवी फ़ाइल में बदलने और फिर .net स्पेस में पढ़ने की सोच रहा हूं।क्या हम .NET ironpython में पांडा डेटाफ्रेम लोड कर सकते हैं?

उत्तर

8

नहीं, पांडस सीपीथॉन से काफी अच्छी तरह बंधे हैं। जैसा कि आपने कहा था, आपकी सबसे अच्छी शर्त पांडियों के साथ सीपीथन में विश्लेषण करना और सीएसवी को परिणाम निर्यात करना है।

+1

पांडस numpy पर निर्भर करता है, जो मेरे ज्ञान के लिए अब तक IronPython के लिए एक सुंदर ठोस बंदरगाह है। लेकिन यह उच्च प्रदर्शन प्राप्त करने के लिए साइथन और सी पर भी निर्भर करता है, है ना? उत्तरार्द्ध शायद बड़ी समस्या है, न कि numpy। –

1

क्रमबद्धता सहित विकल्प के बारे में:

मैं अभी भी समान मामले की जांच कर रहा हूँ - हम इस पर कार्रवाई करना चाहते हैं पायथन में डेटा और फिर परिणाम सी # में उपयोग करें। हमारी आवश्यकता थी (अधिमानतः) पाइथन भाग मंच को स्वतंत्र रखना ताकि हम लिनक्स या खिड़कियों पर हमारी संख्या क्रंचिंग चला सकें। लंबी कहानी कम हम संदेश पैक के साथ बाइनरी क्रमांकन/deserialization उपयोग करने का फैसला: http://msgpack.org/index.html

हम सूचीबद्ध करने के लिए DataFrame मूल्यों कनवर्ट करते हैं, और फाइल करने के लिए क्रमानुसार: सी # ओर उपयोग हम पर फिर

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

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

द्विआधारी क्रमांकन के मुख्य फायदे::

MessagePack का शुद्ध कार्यान्वयन डेटा deserialize करने के लिए 0
  • यह सीएसवी तुलना में तेजी से हो सकता है (यह हमारे मामले में था) किसी भी एन्कोडिंग से संबंधित मुद्दों को पाठ में csv, JSON या XML
  • की तरह आधारित क्रमबद्धता प्रारूपों डेटा पर निर्भर करता है की तुलना करने के लिए कम संभावना है: http://matthewrocklin.com/blog/work/2015/03/16/Fast-Serialization/