पायथन गणित और सांख्यिकीय विश्लेषण वन-लाइनर्सपायथन गणित और सांख्यिकीय विश्लेषण वन-लाइनर्स
लेखक द्वारा छवि | इदेओग्राम

अपने अंतर्निहित मॉड्यूल और बाहरी पुस्तकालयों के साथ पायथन के अभिव्यंजक सिंटैक्स को उल्लेखनीय रूप से संक्षिप्त कोड के साथ जटिल गणितीय और सांख्यिकीय संचालन करना संभव है।

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

🔗 GitHub पर कोड के लिए लिंक

नमूना आंकड़ा

हमारे एक-लाइनर्स को कोड करने से पहले, आइए काम करने के लिए कुछ नमूना डेटासेट बनाएं:

import numpy as np
import pandas as pd
from collections import Counter
import statistics

# Sample datasets
numbers = [12, 45, 7, 23, 56, 89, 34, 67, 21, 78, 43, 65, 32, 54, 76]
grades = [78, 79, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96]
sales_data = [1200, 1500, 800, 2100, 1800, 950, 1600, 2200, 1400, 1750,3400]
temperatures = [55.2, 62.1, 58.3, 64.7, 60.0, 61.8, 59.4, 63.5, 57.9, 56.6]

कृपया ध्यान दें: अनुसरण करने वाले कोड स्निपेट में, मैंने प्रिंट स्टेटमेंट को बाहर कर दिया है।

1। गणना माध्य, माध्यिका और मोड

डेटासेट का विश्लेषण करते समय, आपको अक्सर अपने डेटा के वितरण को समझने के लिए केंद्रीय प्रवृत्ति के कई उपायों की आवश्यकता होती है। यह एक-लाइनर एक ही अभिव्यक्ति में सभी तीन प्रमुख आंकड़ों की गणना करता है, जो आपके डेटा की केंद्रीय विशेषताओं का एक व्यापक अवलोकन प्रदान करता है।

stats = (statistics.mean(grades), statistics.median(grades), statistics.mode(grades))

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

2। इंटरक्वेर्टाइल रेंज का उपयोग करके आउटलेयर खोजें

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

outliers = [x for x in sales_data if x < np.percentile(sales_data, 25) - 1.5 * (np.percentile(sales_data, 75) - np.percentile(sales_data, 25)) or x > np.percentile(sales_data, 75) + 1.5 * (np.percentile(sales_data, 75) - np.percentile(sales_data, 25))]

यह सूची समझ पहले और तीसरे चौकड़ी की गणना करती है, IQR को निर्धारित करती है, और चतुर्थक सीमाओं से IQR से 1.5 गुना से अधिक मूल्यों की पहचान करती है। बूलियन लॉजिक मूल डेटासेट को केवल बाहरी मानों को वापस करने के लिए फ़िल्टर करता है।

3। दो चर के बीच सहसंबंध की गणना करें

कभी -कभी, हमें चर के बीच संबंधों को समझने की आवश्यकता होती है। यह एक-लाइनर पियर्सन सहसंबंध गुणांक की गणना करता है, दो डेटासेट के बीच रैखिक संबंध शक्ति को निर्धारित करता है और उनके संघ में तत्काल अंतर्दृष्टि प्रदान करता है।

correlation = np.corrcoef(temperatures, grades[:len(temperatures)])[0, 1]

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

np.float64(0.062360807968294615)

4। वर्णनात्मक सांख्यिकी सारांश उत्पन्न करें

एक व्यापक सांख्यिकीय सारांश आपके डेटा की वितरण विशेषताओं के बारे में आवश्यक अंतर्दृष्टि प्रदान करता है। यह एक-लाइनर एक शब्दकोश बनाता है जिसमें प्रमुख वर्णनात्मक आँकड़े होते हैं, जो एक ही अभिव्यक्ति में आपके डेटासेट के गुणों की पूरी तस्वीर पेश करता है।

summary = {stat: getattr(np, stat)(numbers) for stat in ['mean', 'std', 'min', 'max', 'var']}

यह शब्दकोश समझ का उपयोग करता है .getattr() गतिशील रूप से Numpy कार्यों को कॉल करने के लिए, उनके गणना किए गए मूल्यों के लिए सांख्यिकीय नामों की एक साफ मानचित्रण बनाएं।

{'mean': np.float64(46.8),
 'std': np.float64(24.372662281061267),
 'min': np.int64(7),
 'max': np.int64(89),
 'var': np.float64(594.0266666666666)}

5। जेड-स्कोर के लिए डेटा को सामान्य करें

जेड-स्कोर के लिए डेटा को मानकीकृत करना विभिन्न पैमानों और वितरणों में सार्थक तुलना करने में सक्षम बनाता है। यह एक-लाइनर आपके कच्चे डेटा को मानकीकृत इकाइयों में बदल देता है, प्रत्येक मूल्य को माध्य से मानक विचलन की संख्या के रूप में व्यक्त करता है।

z_scores = [(x - np.mean(numbers)) / np.std(numbers) for x in numbers]

सूची समझ प्रत्येक तत्व पर Z- स्कोर सूत्र को लागू करती है, माध्य को घटाती है और मानक विचलन द्वारा विभाजित करती है।

[np.float64(-1.4278292456807755),
 np.float64(-0.07385323684555724),
 np.float64(-1.6329771258073238),
 np.float64(-0.9765039094023694),
 np.float64(0.3774720994328488),
...
 np.float64(0.29541294738222956),
 np.float64(1.1980636199390418)]

6। चलती औसत की गणना करें

स्मूथिंग टाइम सीरीज़ डेटा अल्पकालिक उतार-चढ़ाव और शोर को कम करने में मदद करता है। यह एक-लाइनर एक निर्दिष्ट विंडो पर एक रोलिंग औसत की गणना करता है, जो आपके डेटा के दिशात्मक आंदोलन का एक क्लीनर दृश्य प्रदान करता है।

moving_avg = [np.mean(sales_data[i:i+3]) for i in range(len(sales_data)-2)]

सूची की समझ प्रत्येक विंडो के लिए माध्य की गणना करते हुए, लगातार तीन मानों की ओवरलैपिंग विंडो बनाती है। यह तकनीक विशेष रूप से वित्तीय डेटा, सेंसर रीडिंग और किसी भी अनुक्रमिक माप के लिए उपयोगी है जहां प्रवृत्ति पहचान महत्वपूर्ण है।

[np.float64(1166.6666666666667),
 np.float64(1466.6666666666667),
 np.float64(1566.6666666666667),
 np.float64(1616.6666666666667),
 np.float64(1450.0),
 np.float64(1583.3333333333333),
 np.float64(1733.3333333333333),
 np.float64(1783.3333333333333),
 np.float64(2183.3333333333335)]

7। सबसे लगातार मूल्य सीमा का पता लगाएं

डेटा वितरण पैटर्न को समझने के लिए अक्सर आपके डेटासेट के भीतर एकाग्रता क्षेत्रों की पहचान करने की आवश्यकता होती है। यह एक-लाइनर आपके डेटा को रेंज में जोड़ता है और सबसे अधिक आबादी वाले अंतराल को पाता है, जिससे पता चलता है कि आपके मूल्य सबसे अधिक घने हैं।

most_frequent_range = Counter([int(x//10)*10 for x in numbers]).most_common(1)[0]

अभिव्यक्ति दशकों में मूल्यों को टिन करता है, उपयोग का उपयोग करके एक आवृत्ति गणना बनाता है Counterऔर सबसे आम सीमा निकालता है। यह दृष्टिकोण हिस्टोग्राम विश्लेषण और जटिल साजिश के बिना डेटा वितरण विशेषताओं को समझने के लिए मूल्यवान है।

8। चक्रवृद्धि वार्षिक वृद्धि दर की गणना करें

वित्तीय और व्यावसायिक विश्लेषण को अक्सर समय के साथ विकास प्रक्षेपवक्र को समझने की आवश्यकता होती है। यह एक-लाइनर चक्रवृद्धि वार्षिक विकास दर की गणना करता है, जो विभिन्न समय अवधि में निवेश या व्यावसायिक प्रदर्शन का मानकीकृत उपाय प्रदान करता है।

cagr = (sales_data[-1] / sales_data[0]) ** (1 / (len(sales_data) - 1)) - 1

सूत्र अंतिम का अनुपात प्रारंभिक मूल्यों के लिए लेता है, इसे समय अवधि के पारस्परिकता की शक्ति तक बढ़ाता है, और विकास दर प्राप्त करने के लिए एक को घटाता है। यह गणना मानती है कि प्रत्येक डेटा बिंदु आपके विश्लेषण में एक समय अवधि का प्रतिनिधित्व करता है।

9। कमिंग टोटल की गणना करें

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

running_totals = [sum(sales_data[:i+1]) for i in range(len(sales_data))]

सूची की समझ उत्तरोत्तर स्लाइस को शुरू से प्रत्येक स्थिति तक बढ़ाती है, संचयी रकम की गणना करती है।

[1200, 2700, 3500, 5600, 7400, 8350, 9950, 12150, 13550, 15300, 18700]

10। भिन्नता के गुणांक की गणना करें

विभिन्न पैमानों के साथ Dattils में परिवर्तनशीलता की तुलना करने के लिए फैलाव के सापेक्ष उपायों की आवश्यकता होती है। यह एक-लाइनर भिन्नता के गुणांक की गणना करता है, विभिन्न माप इकाइयों में सार्थक तुलना के लिए माध्य के प्रतिशत के रूप में मानक विचलन को व्यक्त करता है।

cv = (np.std(temperatures) / np.mean(temperatures)) * 100

गणना मानक विचलन को माध्य द्वारा विभाजित करती है और परिणाम को प्रतिशत के रूप में व्यक्त करने के लिए 100 से गुणा करती है। विभिन्न इकाइयों या तराजू के साथ Datets की तुलना करते समय परिवर्तनशीलता का यह मानकीकृत माप विशेष रूप से उपयोगी है।

np.float64(4.840958085381635)

निष्कर्ष

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

याद रखें कि जबकि एक-लाइनर शक्तिशाली हैं, जटिल विश्लेषण आसान डिबगिंग के लिए कई चरणों में संचालन को तोड़ने से लाभान्वित हो सकते हैं।

Bala priya c भारत का एक डेवलपर और तकनीकी लेखक है। वह गणित, प्रोग्रामिंग, डेटा साइंस और कंटेंट क्रिएशन के चौराहे पर काम करना पसंद करती है। उनकी रुचि और विशेषज्ञता के क्षेत्रों में DevOps, डेटा विज्ञान और प्राकृतिक भाषा प्रसंस्करण शामिल हैं। वह पढ़ने, लिखने, कोडिंग और कॉफी का आनंद लेती है! वर्तमान में, वह ट्यूटोरियल, हाउ-टू गाइड, ओपिनियन पीस, और बहुत कुछ लिखकर डेवलपर समुदाय के साथ अपने ज्ञान को सीखने और साझा करने पर काम कर रही है। बाला भी आकर्षक संसाधन ओवरव्यू और कोडिंग ट्यूटोरियल बनाता है।





स्रोत लिंक