Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जनगणना डेटा का विश्लेषण

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

डेटा व्यवस्थित करना

नीचे दिए गए प्रोग्राम में पहले हम एक छोटे पायथन प्रोग्राम का उपयोग करके डेटा प्राप्त करते हैं। यह आगे के विश्लेषण के लिए डेटा को पैंडास डेटाफ्रेम में लोड करता है। आउटपुट सरल प्रतिनिधित्व के लिए कुछ फील्ड्स दिखाता है।

उदाहरण

import pandas as pd
datainput = pd.read_csv('E:\\india-districts-census-2011.csv')
# https://www.kaggle.com/danofer/india-census#india-districts-census-2011.csv
print(datainput)

आउटपुट

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है -

   District code ... Total_Power_Parity
0              1 ...             1119
1              2 ...             1066
2              3 ...              242
3              4 ...              214
4              5 ...              629
..           ... ...              ...
635          636 ...            10027
636          637 ...             4890
637          638 ...             3151
638          639 ...             3151
639          640 ...             5782
[640 rows x 118 columns]

दो राज्यों के बीच समानता का विश्लेषण

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

उदाहरण

import pandas as pd
import matplotlib.pyplot as plot
from matplotlib.colors import Normalize
import seaborn as sns
import math
datainput = pd.read_csv('E:\\india-districts-census-2011.csv')
df_ASSAM = datainput.loc[datainput['State name'] == 'ASSAM']
df_ANDHRA_PRADESH = datainput.loc[datainput['State name'] == 'ANDHRA PRADESH']
def segment(x1, x2):
    # दोनों डेटाफ्रेम के लिए इंडेक्स सेट करें
    x1.set_index('District code')
    x2.set_index('District code')
    # आकार len(x1) X len(x2) का समानता मैट्रिक्स
    similarity_matrix = []
    # df1 की पंक्तियों के माध्यम से पुनरावृति करें
    for r1 in x1.iterrows():
        # x2 की अन्य पंक्तियों के साथ row1 के समानता स्कोर रखने के लिए लिस्ट बनाएं
        y = []
        # x2 की पंक्तियों के माध्यम से पुनरावृति करें
        for r2 in x2.iterrows():
            # वर्ग अंतर का योग गणना करें
            n = 0
            for c in list(datainput)[3:]:
                maximum_c = max(datainput[c])
                minimum_c = min(datainput[c])
                n += pow((r1[1][c] - r2[1][c]) / (maximum_c - minimum_c), 2)
            # वर्गमूल लें और परिणाम को उल्टा करें
            y.append(1 / math.sqrt(n))
        # समानता स्कोर जोड़ें
        similarity_matrix.append(y)
    p = 0
    q = 0
    r = 0
    for m in range(len(similarity_matrix)):
        for n in range(len(similarity_matrix[m])):
            if (similarity_matrix[m][n] > p):
                p = similarity_matrix[m][n]
                q = m
                r = n
    print("%s from ASSAM and %s from ANDHRA PRADESH are most similar" % (x1['District name'].iloc[q], x2['District name'].iloc[r]))
    return similarity_matrix
m = segment(df_ASSAM, df_ANDHRA_PRADESH)
normalization = Normalize()
s = plot.axes()
sns.heatmap(normalization(m), xticklabels=df_ANDHRA_PRADESH['District name'], yticklabels=df_ASSAM['District name'], linewidths=0.05, cmap='Oranges').set_title("similar districts matrix of assam AND andhra_pradesh")
plot.rcParams['figure.figsize'] = (20, 20)
plot.show()

आउटपुट

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है -

पायथन में जनगणना डेटा का विश्लेषण

विशिष्ट पैरामीटर्स की तुलना

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

उदाहरण

import pandas as pd
import matplotlib.pyplot as plot
from numpy import *
datainput = pd.read_csv('E:\\india-districts-census-2011.csv')
z = datainput.groupby(by="State name")
m = []
w = []
for k, g in z:
    t = 0
    t1 = 0
    for r in g.iterrows():
        t += r[1][36]
        t1 += r[1][21]
    m.append((k, t))
    w.append((k, t1))
mp = pd.DataFrame({
    'state': [x[0] for x in m],
    'Households_with_Computer': [x[1] for x in m],
    'Cultivator_Workers': [x[1] for x in w]})
d = arange(35)
wi = 0.3
fig, f = plot.subplots()
plot.xlim(0, 22000000)
r1 = f.barh(d, mp['Cultivator_Workers'], wi, color='g', align='center')
r2 = f.barh(d + wi, mp['Households_with_Computer'], wi, color='b', align='center')
f.set_xlabel('Population')
f.set_title('COMPUTER PENETRATION IN VARIOUS STATES W.R.T. Cultivator_Workers')
f.set_yticks(d + wi / 2)
f.set_yticklabels((x for x in mp['state']))
f.legend((r1[0], r2[0]), ('Cultivator_Workers', 'Households_with_Computer'))
plot.rcParams.update({'font.size': 15})
plot.rcParams['figure.figsize'] = (15, 15)
plot.show()

आउटपुट

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है -

पायथन में जनगणना डेटा का विश्लेषण
  1. पायथन Bokeh: डेटा विज़ुअलाइज़ेशन (लाइन, सर्कल, बार चार्ट) पायथन Bokeh: डेटा विज़ुअलाइज़ेशन (लाइन, सर्कल, बार चार्ट)

    Bokeh परिचय Bokeh वेब ब्राउज़र के लिए इंटरैक्टिव डेटा विज़ुअलाइज़ेशन लाइब्रेरी है। यह HTML/JS आउटपुट उत्पन्न करता है जिसे ब्राउज़र में देखा जा सकता है। 1. लाइन प्लॉट from bokeh.io import show from bokeh.plotting import figure p = figure(plot_width=300, plot_height=300, title=Line Plot) p.line([2,

  1. पायथन में सांख्यिकीय सोच पायथन में सांख्यिकीय सोच

    सांख्यिकी ML और AI सीखने के लिए मौलिक है। चूंकि पायथन इन टेक्नोलॉजीज के लिए पसंद की भाषा है, हम देखेंगे कि सांख्यिकीय विश्लेषण को शामिल करने वाले पायथन प्रोग्राम कैसे लिखें। इस लेख में हम देखेंगे कि विभिन्न पायथन मॉड्यूल्स का उपयोग करके ग्राफ और चार्ट कैसे बनाएं। चार्ट की यह विविधता हमें डेटा का तेज

  1. पायथन में ग्राहक मंथन (Customer Churn) की भविष्यवाणी पायथन में ग्राहक मंथन (Customer Churn) की भविष्यवाणी

    हर व्यवसाय ग्राहक की वफादारी पर निर्भर करता है। ग्राहक से दोहराया जाने वाला व्यवसाय व्यावसायिक लाभप्रदता के लिए आधारशिला में से एक है। इसलिए ग्राहक के व्यवसाय छोड़ने का कारण जानना महत्वपूर्ण है। ग्राहकों का दूर जाना ग्राहक मंथन के रूप में जाना जाता है। पिछले रुझानों को देखकर हम यह आंक सकते हैं कि कौ