2022年 11月 5日

python中 s 用法_在Python中使用Pandas

Pandas是一个python库,用于处理数据、生成统计数据、聚合数据等等。在这篇文章中,我们将讨论如何使用Pandas库进行数据选择、聚合和统计分析。

我们开始吧!

我们将使用银行客户流失建模数据集。数据可以在这里找到。

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())

结论

本文讨论了如何与Pandas库一起执行数据选择、数据聚合和统计分析等任务。