企业建设高端网站的目的,开网站建设公司怎么样,网站域名建设怎么填写,宁波网站推广公司排名分析思路#xff1a;1、明确分析目标#xff1b;2、导入库、导入数据#xff1b;3、简单查看下数据行列、整体情况#xff1b;4、数据清洗#xff1b;5、确定维度和指标#xff1b;6、分析并作图1、查看整体数据情况1.1引入使用的库import numpy as npimport pandas as p…分析思路1、明确分析目标2、导入库、导入数据3、简单查看下数据行列、整体情况4、数据清洗5、确定维度和指标6、分析并作图1、查看整体数据情况1.1引入使用的库import numpy as npimport pandas as pdimport matplotlib.pyplot as plt1.2加载数据文件df pd.read_csv(./FIFA_2018_player.csv)1.3简单查看数据整体情况df.head()数据表头说明ID:编号name:球员姓名full_name:球员全名nationality:国籍league:联赛club:所属俱乐部age:年龄birth_date:出生日期height_cm:身高weight_kg:体重eur_value:身价eur_wage:周薪df.describe()2、开始清理数据数据清理-所有需要分析的数据都需要看下。对于数值型可以看下describe方法输出的信息重点关注最大值最小值平均值行数等。2.1、查看整体数据量f.count()2.2、对null值处理通过查看各列数据量情况(非null值)发现league字段和club字段与其他字段存在差异。存在253行的null值对于一万条数据来说影响还好可以删掉。#删除数据一般放在后面进行这里因为其他数据也是异常所以可以先删掉df.drop(df[df.league.isnull()].index,inplaceTrue)再次查看数据情况df.count()每列数据量一致不存在null值。2.3、查看整体统计量情况查看是否存在异常df.describe()此处的身价最小的为0但工资为1000因此存在数据失真情况。df[df[eur_value]100]我们对身价小于100的数据进行查看存在6行数据异常。对此种情况可有三种处理方式1、由于异常数据量较少可依次查询真实数据并重新赋值2、取整体平均值对异常数据进行覆盖3、由于总体数据量大可直接删除异常数据。本案例中采取第二种方式处理df[eur_value].replace(0,df[eur_value].mean(),inplaceTrue)df[df[eur_value]100]用整体平均值对异常数据进行覆盖后查看身价是否还存在小于100的2.4、查看是否有重复数据df[df[full_name].duplicated()]姓名重复的数据为102行可随便抽取一条查看df[df[full_name]Moussa Dembélé]可以看到虽姓名一致但其他字段均不同为重名但不同人的情况。3、开始分析数据3.1、整体数据量描述df.count()3.2、对常用统计量做简单描述df.describe()明确维度和指标每一列、每几列可以作为一个维度各种统计值为指标。对于离散型的维度一般使用groupby分组使用对于连续型的维度一般分区间。3.3、离散型维度-国家维度的运动员数量国家维度的运动员数为离散型使用groupby分组并计算总和df.groupby(nationality,as_indexFalse).count()为方便后续数据使用因此不需要用nationality设置索引因此使用as_indexFalse为方便查看仅取国籍和数量两列并根据球员数量进行排序nationality_data df.groupby(nationality,as_indexFalse).count()[[nationality,name]]nationality_data.rename(columns{name:player_count},inplaceTrue)#按照player_count进行排序nationality_data.sort_values(player_count,ascendingFalse)3.4、连续型维度-选取年龄为例以年龄为维度以不同年龄段人数为指标bins np.arange(15,50,5)bins_data pd.cut(df[age],bins)bin_counts df[age].groupby(bins_data).count()bin_counts4、对分析结果进行可视化bin_counts.plot(kindpie)原文链接:https://blog.csdn.net/m0_46511764/article/details/105324932