python 的案例实战_python案例实战之一
分析思路:
1、明確分析目標;
2、導入庫、導入數據;
3、簡單查看下數據行列、整體情況;
4、數據清洗;
5、確定維度和指標;
6、分析并作圖
1、查看整體數據情況
1.1引入使用的庫
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
1.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,inplace=True)
再次查看數據情況
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(),inplace=True)
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_index=False).count()
為方便后續數據使用,因此不需要用nationality設置索引,因此使用as_index=False
為方便查看,僅取國籍和數量兩列,并根據球員數量進行排序
nationality_data = df.groupby('nationality',as_index=False).count()[['nationality','name']]
nationality_data.rename(columns={'name':'player_count'},inplace=True)
#按照player_count進行排序
nationality_data.sort_values('player_count',ascending=False)
3.4、連續型維度-選取年齡為例,以年齡為維度,以不同年齡段人數為指標
bins = np.arange(15,50,5)
bins_data = pd.cut(df['age'],bins)
bin_counts = df['age'].groupby(bins_data).count()
bin_counts
4、對分析結果進行可視化
bin_counts.plot(kind='pie')
原文鏈接:https://blog.csdn.net/m0_46511764/article/details/105324932
總結
以上是生活随笔為你收集整理的python 的案例实战_python案例实战之一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言逆波兰计算器程序,C语言实现的简单
- 下一篇: c#ovalshape_【原创】C# 实