numpy

2016-02-23 14 views
6

के साथ मेरे डेटा का प्रतिनिधित्व करने के लिए अनुशंसित तरीका मैं भूगर्भीय डेटा की प्रसंस्करण पर काम कर रहा हूं। डेटा बॉक्स के ऊर्ध्वाधर (जेड) कॉलम का 2 डी (एक्स-वाई) मानचित्र है, प्रत्येक बॉक्स में इसके साथ 1 संख्यात्मक पैरामीटर होता है। मुझे कोड पैरामीटर जोड़ने/निकालने की आजादी की आवश्यकता है क्योंकि कोड विकसित होता है (जिसका अर्थ है कि अब मुझे कोई संकेत नहीं है कि मुझे वास्तव में कितनी जरूरत है)। बक्से की संख्या नक्शे भर में भिन्न होती है। तो परिणामी 3 डी सरणी जेड दिशा में घिरा हुआ है। एल्गोरिदम एक समय में बॉक्स के एक लंबवत कॉलम पर डेटा कार्य पर लागू होते हैं।numpy

numpy/scipy सुविधाओं का उपयोग करके ऐसी डेटा संरचना का प्रतिनिधित्व करने का एक उचित तरीका क्या होगा? मैंने कस्टम डीटीपी के साथ एक 3 डी संरचित सरणी के बारे में सोचा है। लेकिन डेटा की स्वाभाविक रूप से जंजीर प्रकृति के कारण संभावित रूप से बहुत सारे शून्य होंगे।

+0

हैं:

data['new_parameter'] = [new_par1, new_par2] 

आप numpy उपयोग करना चाहते हैं, तो आप numpy सरणी के साथ list रों स्थानापन्न कर सकते हैं आपको नहीं पता कि आपको कितने पैरामीटर चाहिए, शायद आपको शब्दकोशों का उपयोग करना होगा। –

उत्तर

4

यदि आपका डेटा आपके कोड के दौरान उत्परिवर्तनीय है, तो numpy अनुशंसित नहीं है।

एक संभावित समाधान एक शब्दकोश बनाना है जिसका कुंजी पैरामीटर हैं। उदाहरण के लिए समन्वय [x1, y1] और [x2, y2] के साथ 2 बॉक्स वाले मामले में, ऊंचाई h1 और h2 और अन्य सामान्य पैरामीटर आप परिभाषित कर सकते हैं।

data = { 
    'boxes': [[x1, y1], [x2, y2]], 
    'height': [h1, h2], 
    'general_parameter': [par1, par2] 
} 
इस तरह से जब आप की जरूरत है आप मापदंडों और बक्से में जोड़ सकते हैं में

:

import numpy as np 

data = { 
    'boxes': np.array([[x1, y1], [x2, y2]]), 
    'height': np.array([h1, h2]), 
    'general_parameter': np.array([par1, par2]) 
} 
+0

मैं उल्लेखनीय कारण का उल्लेख करता हूं कि मेरे पास आमतौर पर काम करने के लिए लाखों से अधिक बॉक्स होंगे और उनके लिए लागू एल्गोरिदम लागू होंगे, इसलिए जब तक मैं वैज्ञानिक स्टैक का उपयोग नहीं करता तब तक पाइथन संभवतः दबाएगा। – MindV0rtex

+0

मैंने numpy सरणी के साथ उत्तर अद्यतन किया। –

+0

यदि आपके पास लाखों बक्से हैं लेकिन कुछ पैरामीटर यह एक अच्छा समाधान है। –

 संबंधित मुद्दे