पायथन में z स्कोर की गणना कैसे करें
आंकड़ों में, एक z-स्कोर हमें बताता है कि एक मान माध्य से कितने मानक विचलन है। हम z-स्कोर की गणना के लिए निम्नलिखित सूत्र का उपयोग करते हैं:
z = (एक्स – μ) / σ
सोना:
- X एकल कच्चा डेटा मान है
- μ जनसंख्या माध्य है
- σ जनसंख्या मानक विचलन है
यह ट्यूटोरियल बताता है कि पायथन में कच्चे डेटा मानों के लिए z-स्कोर की गणना कैसे करें।
पायथन में Z स्कोर की गणना कैसे करें
हम scipy.stats.zscore का उपयोग करके पायथन में z-स्कोर की गणना कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
scipy.stats.zscore(a, अक्ष=0, ddof=0, nan_policy=’propagate’)
सोना:
- ए : एक सरणी प्रकार की वस्तु जिसमें डेटा होता है
- अक्ष : वह अक्ष जिसके अनुदिश z-स्कोर की गणना की जाती है। डिफॉल्यू मूल्य शून्य है।
- ddof : मानक विचलन की गणना में स्वतंत्रता की डिग्री का सुधार। डिफॉल्यू मूल्य शून्य है।
- nan_policy : इनपुट में nan होने पर कैसे संभालें। डिफ़ॉल्ट प्रोपेगेट है, जो नान लौटाता है। ‘raise’ से त्रुटि उत्पन्न होती है और ‘omit’ नैन मानों को अनदेखा करते हुए गणना करता है।
निम्नलिखित उदाहरण बताते हैं कि एक-आयामी सुन्न सरणियों, बहु-आयामी सुन्न सरणियों और पांडा डेटाफ़्रेम के लिए z-स्कोर की गणना करने के लिए इस फ़ंक्शन का उपयोग कैसे करें।
सुन्न एक-आयामी सरणियाँ
चरण 1: मॉड्यूल आयात करें।
import pandas as pd import numpy as np import scipy.stats as stats
चरण 2: मानों की एक तालिका बनाएं।
data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])
चरण 3: तालिका में प्रत्येक मान के लिए z-स्कोर की गणना करें।
stats.zscore(data)
[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]
प्रत्येक z-स्कोर हमें बताता है कि एक व्यक्तिगत मान माध्य से कितने मानक विचलन है। उदाहरण के लिए:
- तालिका में “6” का पहला मान माध्य से 1.394 मानक विचलन नीचे है।
- तालिका में “13” का पांचवां मान माध्य से 0 मानक विचलन है, अर्थात यह माध्य के बराबर है।
- तालिका में “22” का अंतिम मान औसत से 1.793 मानक विचलन है।
सुन्न बहुआयामी सरणियाँ
यदि हमारे पास एक बहुआयामी सरणी है, तो हम यह निर्दिष्ट करने के लिए अक्ष पैरामीटर का उपयोग कर सकते हैं कि हम प्रत्येक z-स्कोर की गणना उसके स्वयं के सरणी के सापेक्ष करना चाहते हैं। उदाहरण के लिए, मान लें कि हमारे पास निम्नलिखित बहुआयामी सरणी है:
data = np.array([[5, 6, 7, 7, 8], [8, 8, 8, 9, 9], [2, 2, 4, 4, 5]])
हम प्रत्येक तालिका के लिए z-स्कोर की गणना करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
stats.zscore(data, axis=1) [[-1.569 -0.588 0.392 0.392 1.373] [-0.816 -0.816 -0.816 1.225 1.225] [-1.167 -1.167 0.5 0.5 1.333]]
प्रत्येक व्यक्तिगत मान के लिए z-स्कोर उस तालिका के सापेक्ष प्रदर्शित होते हैं जिसमें वे पाए जाते हैं। उदाहरण के लिए:
- पहली तालिका में “5” का पहला मान इसकी तालिका के माध्य से 1.159 मानक विचलन नीचे है।
- दूसरी तालिका में “8” का पहला मान इसकी तालिका के औसत से 0.816 मानक विचलन नीचे है।
- तीसरी तालिका में “2” का पहला मान इसकी तालिका के माध्य से 1.167 मानक विचलन नीचे है।
पांडा डेटा फ्रेम्स
आइए मान लें कि हमारे पास इसके बजाय एक पांडा डेटाफ़्रेम है:
data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C']) data ABC 0 8 0 9 1 4 0 7 2 9 6 8 3 1 8 1 4 8 0 8
हम प्रति कॉलम व्यक्तिगत मानों के z-स्कोर की गणना करने के लिए अप्लाई फ़ंक्शन का उपयोग कर सकते हैं:
data.apply(stats.zscore) ABC 0 0.659380 -0.802955 0.836080 1 -0.659380 -0.802955 0.139347 2 0.989071 0.917663 0.487713 3 -1.648451 1.491202 -1.950852 4 0.659380 -0.802955 0.487713
प्रत्येक व्यक्तिगत मान के लिए z-स्कोर उस कॉलम के सापेक्ष प्रदर्शित होते हैं जिसमें वे स्थित हैं। उदाहरण के लिए:
- पहले कॉलम में “8” का पहला मान इसके कॉलम के औसत मान से 0.659 मानक विचलन है।
- दूसरे कॉलम में पहला “0” मान उसके कॉलम में औसत मान से 0.803 मानक विचलन कम है।
- तीसरे कॉलम में “9” का पहला मान इसके कॉलम के औसत मान से 0.836 मानक विचलन है।
अतिरिक्त संसाधन:
एक्सेल में Z स्कोर की गणना कैसे करें
एसपीएसएस में जेड स्कोर की गणना कैसे करें
TI-84 कैलकुलेटर पर Z स्कोर की गणना कैसे करें