Pythonで国勢調査データを分析する
国勢調査とは、特定の人口に関する情報を体系的に記録することです。キャプチャされたデータには、人口統計、経済、居住の詳細など、さまざまなカテゴリの情報が含まれます。これは、最終的に政府が現在のシナリオと将来の計画を理解するのに役立ちます。この記事では、Pythonを活用してインドの人口の人口調査データを分析する方法を説明します。さまざまな人口統計学的および経済的側面を見ていきます。次に、分析をグラフィカルに投影する電荷をプロットします。 kaggleから収集されたソース。ここにあります。
データの整理
以下のプログラムでは、最初に短いPythonプログラムを使用してデータを取得します。さらに分析するために、データをpandasデータフレームにロードするだけです。出力には、より簡単に表現するためのいくつかのフィールドが表示されます。
例
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]
2つの状態間の類似性の分析
データを収集したので、2つの州間のさまざまな面での類似性の分析に進むことができます。類似点は、年齢層、コンピューターの所有権、住宅の利用可能性、教育レベルなどに基づくことができます。以下の例では、アッサムとアンドラプラデーシュという名前の2つの州を取り上げます。次に、similarity_matrixを使用して2つの状態を比較します。すべてのデータフィールドは、両方の州の可能な地区のペアごとに比較されます。結果のヒートマップは、これら2つがどれほど密接に関連しているかを示します。日陰が暗いほど、関連性が高くなります。
例
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): # Set indices for both the data frames x1.set_index('District code') x2.set_index('District code') # The similarity matrix of size len(x1) X len(x2) similarity_matrix = [] # Iterate through rows of df1 for r1 in x1.iterrows(): # Create list to hold similarity score of row1 with other rows of x2 y = [] # Iterate through rows of x2 for r2 in x2.iterrows(): # Calculate sum of squared differences 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) # Take sqrt and inverse the result y.append(1 / math.sqrt(n)) # Append similarity scores 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()
出力
上記のコードを実行すると、次の結果が得られます-
特定のパラメータの比較
これで、特定のパラメーターに関して場所を比較することもできます。以下の例では、耕運機の労働者が利用できる家庭用コンピューターの可用性を比較しています。状態ごとにこれら2つのパラメーターの比較を示すグラフを作成します。
例
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()
出力
上記のコードを実行すると、次の結果が得られます-
-
Pythonでの統計的思考
統計は、mlとAIを学ぶための基本です。 Pythonはこれらのテクノロジーに最適な言語であるため、統計分析を組み込んだPythonプログラムの作成方法を説明します。この記事では、さまざまなPythonモジュールを使用してグラフやチャートを作成する方法を説明します。このさまざまなグラフは、データをすばやく分析し、内部を導き出すのに役立ちます。 データの準備 さまざまなシードに関するデータを含むデータセットを取得します。このデータセットは、以下のプログラムに示されているリンクのkaggleで入手できます。さまざまなシードの特徴を比較するためのさまざまなタイプのチャートを作成するために使用される
-
Pythonでの顧客離れの予測
すべてのビジネスは顧客の忠誠心に依存しています。顧客からのリピートビジネスは、ビジネスの収益性の基礎の1つです。したがって、顧客が事業を辞める理由を知ることが重要です。顧客が離れることは、顧客離れとして知られています。過去の傾向を見ることで、顧客離れに影響を与える要因と、特定の顧客がビジネスから離れるかどうかを予測する方法を判断できます。この記事では、MLアルゴリズムを使用して、顧客離れの過去の傾向を調査し、どの顧客が離れる可能性が高いかを判断します。 データの準備 例として、この記事のテレコム顧客チャーンを検討します。ソースデータはkaggelで入手できます。データをダウンロードするための