日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 的案例实战_python案例实战之一

發布時間:2025/3/15 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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案例实战之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。