पांडा का उपयोग करके “बड़ा डेटा” कार्यप्रवाह

| | | | | | | | |

मैंने पांडा सीखते हुए कई महीनों तक इस सवाल का जवाब जानने की कोशिश की है। मैं अपने दिन-प्रतिदिन के काम के लिए एसएएस का उपयोग करता हूं और यह इसके आउट-ऑफ-कोर समर्थन के लिए बहुत अच्छा है। हालांकि, एसएएस कई अन्य कारणों से सॉफ्टवेयर के एक टुकड़े के रूप में भयानक है।

एक दिन मैं एसएएस के अपने उपयोग को अजगर और पांडा के साथ बदलने की उम्मीद करता हूं, लेकिन मेरे पास वर्तमान में बड़े डेटासेट के लिए आउट-ऑफ-कोर वर्कफ़्लो की कमी है। मैं "बड़े डेटा" के बारे में बात नहीं कर रहा हूं जिसके लिए एक वितरित नेटवर्क की आवश्यकता है, बल्कि फाइलें बहुत बड़ी हैं मेमोरी में फ़िट है लेकिन हार्ड-ड्राइव पर फ़िट होने के लिए काफ़ी छोटा है। विश्लेषण के लिए। दूसरों ने मोंगोडीबी का उपयोग करने में आसान विकल्प के रूप में उल्लेख किया है। मेरा प्रश्न यह है:

निम्न को पूरा करने के लिए कुछ सर्वोत्तम अभ्यास कार्यप्रवाह क्या हैं:

  1. फ्लैट फ़ाइलों को स्थायी, ऑन-डिस्क डेटाबेस संरचना में लोड करना
  2. पांडा डेटा संरचना में फ़ीड करने के लिए डेटा पुनर्प्राप्त करने के लिए उस डेटाबेस को क्वेरी करना
  3. पंडों में टुकड़ों में हेरफेर करने के बाद डेटाबेस को अपडेट करना

वास्तविक दुनिया के उदाहरणों की बहुत सराहना की जाएगी , विशेष रूप से किसी से भी जो "बड़े डेटा" पर पांडा का उपयोग करता है। फ़ाइल और इसे एक स्थायी, ऑन-डिस्क डेटाबेस संरचना में संग्रहीत करें। ये फ़ाइलें आम तौर पर मेमोरी में फ़िट होने के लिए बहुत बड़ी होती हैं।

  • पंडों का उपयोग करने के लिए, मैं इस डेटा के सबसेट (आमतौर पर एक समय में केवल कुछ कॉलम) पढ़ना चाहता हूं जो मेमोरी में फिट हो सकते हैं।
  • मैं चयनित कॉलम पर विभिन्न ऑपरेशन करके नए कॉलम बनाऊंगा।
  • फिर मुझे इन नए कॉलम को डेटाबेस संरचना में जोड़ना होगा।
  • मैं इन चरणों को करने का सर्वोत्तम-अभ्यास तरीका खोजने का प्रयास कर रहा हूं। पांडा और पाइटेबल्स के बारे में लिंक पढ़ना ऐसा लगता है कि एक नया कॉलम जोड़ना एक समस्या हो सकती है।

    संपादित करें - विशेष रूप से जेफ के सवालों का जवाब:

    क्रेडिट जोखिम मॉडल। डेटा के प्रकारों में फोन, एसएसएन और पते की विशेषताएं शामिल हैं; संपत्ति मूल्य; आपराधिक रिकॉर्ड, दिवालिया होने आदि जैसी अपमानजनक जानकारी ... मैं प्रतिदिन उपयोग किए जाने वाले डेटासेट में मिश्रित डेटा प्रकारों के औसतन लगभग 1,000 से 2,000 फ़ील्ड होते हैं: संख्यात्मक और वर्ण डेटा दोनों के निरंतर, नाममात्र और क्रमिक चर। मैं शायद ही कभी पंक्तियों को जोड़ता हूं, लेकिन मैं कई ऑपरेशन करता हूं जो नए कॉलम बनाते हैं। विशिष्ट संचालन में सशर्त तर्क का उपयोग करके एक नए, यौगिक में कई स्तंभों को जोड़ना शामिल है। कॉलम। उदाहरण के लिए, अगर var1 > 2 तो newvar = "A" elif var2 = 4 फिर newvar = "B"। इन ऑपरेशनों का परिणाम मेरे डेटासेट में हर रिकॉर्ड के लिए एक नया कॉलम है।
  • आखिरकार, मैं इन नए कॉलमों को ऑन-डिस्क डेटा संरचना में जोड़ना चाहूंगा। d चरण 2 दोहराएं, मॉडल के लिए दिलचस्प, सहज ज्ञान युक्त संबंध खोजने की कोशिश कर रहे क्रॉसटैब और वर्णनात्मक आंकड़ों के साथ डेटा की खोज करना।
  • एक सामान्य प्रोजेक्ट फ़ाइल आमतौर पर लगभग 1GB होती है। फाइलों को इस तरह से व्यवस्थित किया जाता है जहां एक पंक्ति में उपभोक्ता डेटा का रिकॉर्ड होता है। प्रत्येक पंक्ति में प्रत्येक रिकॉर्ड के लिए समान संख्या में कॉलम होते हैं। यह हमेशा ऐसा ही रहेगा।
  • यह बहुत दुर्लभ है कि मैं एक नया कॉलम बनाते समय पंक्तियों द्वारा सबसेट करूंगा। हालांकि, रिपोर्ट बनाते समय या वर्णनात्मक उत्पन्न करते समय मेरे लिए पंक्तियों पर सबसेट करना बहुत आम है सांख्यिकी। उदाहरण के लिए, मैं व्यवसाय की एक विशिष्ट लाइन के लिए एक साधारण आवृत्ति बनाना चाह सकता हूं, जैसे खुदरा क्रेडिट कार्ड। ऐसा करने के लिए, मैं केवल उन अभिलेखों का चयन करूंगा जहां व्यापार की रेखा = खुदरा, जिस भी कॉलम पर मैं रिपोर्ट करना चाहता हूं। हालांकि, नए कॉलम बनाते समय, मैं डेटा की सभी पंक्तियों और केवल उन स्तंभों को खींचूंगा जिनकी मुझे संचालन के लिए आवश्यकता है।
  • मॉडलिंग प्रक्रिया के लिए आवश्यक है कि मैं प्रत्येक कॉलम का विश्लेषण करूं, कुछ परिणाम चर के साथ दिलचस्प संबंधों की तलाश करूं, और उन संबंधों का वर्णन करने वाले नए यौगिक स्तंभ बनाएं। मैं जिन स्तंभों का पता लगाता हूं वे आमतौर पर छोटे सेटों में किए जाते हैं। उदाहरण के लिए, मैं केवल संपत्ति मूल्यों से निपटने वाले 20 कॉलम के एक सेट पर ध्यान केंद्रित करूंगा और देखूंगा कि वे ऋण पर चूक से कैसे संबंधित हैं। एक बार जब उनकी खोज की जाती है और नए कॉलम बनाए जाते हैं, तो मैं कॉलम के दूसरे समूह पर जाता हूं, जैसे कॉलेज शिक्षा, और प्रक्रिया को दोहराता हूं। मैं जो कर रहा हूं वह उम्मीदवार चर बना रहा है जो मेरे डेटा और कुछ परिणामों के बीच संबंध की व्याख्या करता है। इस प्रक्रिया के अंत में, मैं कुछ सीखने की तकनीकों को लागू करता हूं जो उन यौगिक स्तंभों से एक समीकरण बनाते हैं।
  • यह दुर्लभ है कि मैं कभी भी डेटासेट में पंक्तियां जोड़ूंगा। मैं लगभग हमेशा नए कॉलम बना रहा हूं (आंकड़ों/मशीन सीखने की भाषा में चर या विशेषताएं)।

    Shop

    Learn programming in R: courses

    $

    Best Python online courses for 2022

    $

    Best laptop for Fortnite

    $

    Best laptop for Excel

    $

    Best laptop for Solidworks

    $

    Best laptop for Roblox

    $

    Best computer for crypto mining

    $

    Best laptop for Sims 4

    $

    Latest questions

    NUMPYNUMPY

    psycopg2: insert multiple rows with one query

    12 answers

    NUMPYNUMPY

    How to convert Nonetype to int or string?

    12 answers

    NUMPYNUMPY

    How to specify multiple return types using type-hints

    12 answers

    NUMPYNUMPY

    Javascript Error: IPython is not defined in JupyterLab

    12 answers

    News


    Wiki

    Python OpenCV | cv2.putText () method

    numpy.arctan2 () in Python

    Python | os.path.realpath () method

    Python OpenCV | cv2.circle () method

    Python OpenCV cv2.cvtColor () method

    Python - Move item to the end of the list

    time.perf_counter () function in Python

    Check if one list is a subset of another in Python

    Python os.path.join () method