首頁>技術>

我們開始吧!

我們將使用銀行客戶流失建模資料集。資料可以在這裡找到。

https://www.kaggle.com/sanjanavoona1043/bank-churn

首先,我們匯入Pandas庫,列印前五行資料:

import pandas as pddf = pd.read_csv("Bank_churn_modelling.csv")pd.set_option('display.max_columns', None)pd.set_option('display.max_rows', None)print(df.head())
資料選擇

這裡我們將考慮使用Pandas資料幀進行資料選擇。我們可以使用“[]”來選擇資料列。例如,如果要選擇“CreditScore”、“Gender”、“Age”和“Exited”,可以執行以下操作:

df_select = df[['CreditScore', 'Gender', 'Age',  'Exited']]print(df_select.head())

還可以按列值過濾原始資料幀。讓我們過濾原始資料,使其只包括40歲以上的客戶:

df_age_gt_40 = df[df['Age'] > 40]print(df_age_gt_40.head())

我們還可以篩選40歲或以下的客戶:

df_age_lte_40 = df[df['Age'] <=40]print(df_age_lte_40.head())

或者只有40歲的客戶:

df_age_e_40 = df[df['Age'] ==40]print(df_age_e_40.head())

我們也可以按類別過濾。例如,我們可以選擇“Geography”為France的資料:

df_france = df[df['Geography'] == 'France']print(df_france.head())

還可以使用“.loc[]”運算子來完成相同的任務:

df_france_loc = df.loc[df.Geography == 'France']print(df_france_loc.head())

我們還可以過濾多個分類值。我們只考慮來自德國和西班牙的客戶:

geography_list = ['Germany', 'Spain']df_germany_spain = df[df['Geography'].isin(geography_list)]print(df_germany_spain.head())
統計

我們也可以用Pandas來生成一些基本的統計資料。例如,如果我們想計算信用評分的平均值和標準差,可以執行以下操作:

mean_credit_score = df['CreditScore'].mean()print('Mean credit Score: ', mean_credit_score)std_credit_score = df['CreditScore'].std()print('Standard Deviation in Credit Score: ', std_credit_score)

還可以檢視最小值和最大值:

min_credit_score = df['CreditScore'].min()print('Min credit Score: ', min_credit_score)max_credit_score = df['CreditScore'].max()print('Standard Credit Score: ', max_credit_score)

還可以計算特徵的相關性並繪製熱圖。來看看“年齡”、“信用評分”、“估計年資”和“任期”之間的相關性:

corr = df[['Age', 'CreditScore', 'EstimatedSalary', 'Tenure']].corr()print(corr)

可以使用seaborn繪製相關值的熱圖:

import seaborn as sns sns.heatmap(corr)
資料聚合

我們也可以用Pandas來收集資料。具體來說,可以使用groupby方法來生成類別級別的統計資訊。例如,我們可以從原始資料生成一個新的dataframe,其中包含每個“Geography”值的平均“CreditScore”。這將使我們能夠分析和比較法國、西班牙和德國的平均信用評分:

df_groupby_mean = df.groupby('Geography')['CreditScore'].mean()print(df_groupby_mean.head())

還可以檢視信用評分的標準差:

df_groupby_std = df.groupby('Geography')['CreditScore'].std()print(df_groupby_std.head())

讓我們看看另一個數字列。我們來計算每個國家的平均年齡和年齡標準差:

df_groupby_age_mean = df.groupby('Geography')['Age'].mean()print(df_groupby_age_mean.head())df_groupby_age_std = df.groupby('Geography')['Age'].std()print(df_groupby_age_std.head())

我們也可以按多個列分組:

df_groupby_multiple_category = df.groupby(['Geography', 'Gender'])['Age'].mean()print(df_groupby_multiple_category.head())

29
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • tensorflow 2.x系列02 影象分類