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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大鹏教你数据分析系列--运动员身材都是完美的吗

發布時間:2023/12/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大鹏教你数据分析系列--运动员身材都是完美的吗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本博客記錄學習數據分析的思考和心得

本博客會分享數據源碼,以及在學習數據分析過程中,學習到的內容和本人不熟悉的地方

本節主要研究運動員身材都是完美型嗎?

對于平時有健身的朋友們應該知道,衡量一個人身材是否完美有一個公式,即是BMI值

那么如何判斷自己的身材是否完美尼,來一起計算一下自己的BMI值把!向完美身材看齊!

BMI =?體重/身高的平方(體重單位是KG,身高單位是米)

?本次主要繪制的目標如下圖,每個項目的運動員的BMI值分布

那么繪制上圖,也需要經過以下幾步

  • 加載數據
  • 數據預處理與清洗?(如何處理缺失值,數據填充等數據處理常見的處理方式)
  • 繪制小提琴圖形
# -*- coding: utf-8 -*- """ Created on Fri Apr 12 09:36:35 2019 繪制小提琴圖 運動員身體都是完美的嗎?BMI = weight/height(mi)**2 @author: zss0330816 """import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as pltdf = pd.read_excel(r"D:\數據分析\數據分析師\classdata\奧運運動員數據.xlsx", sheetname=1) #print(df) #df_length = len(df) #df_columns = df.columns.tolist() data = df[['event', 'name', 'height', 'weight']]#選擇數據項#去除數據個數小于15的項目, 去除缺失值,數據清洗 # data2['event'].value_counts()#可以看見每個項目的個數,去除項目較少的 data2 = data[data['event']!='swim']#發現只有swim小于15,刪除該項目 data2.dropna(inplace=True)#處理空數據,使用dropna方法,處理 data2['BMI'] = data2['weight']/(data2['height']/100)**2#新增BMI列,計算每個運動員的BMI值 data2['BMI_range'] = pd.cut(data2['BMI'],[0, 18.5, 24, 28, 50], labels=['thin', 'normal', 'strong', 'very strong'])plt.figure(figsize=(12, 6))#繪圖大小 #小提琴圖 sns.violinplot(x='event', y='BMI', data = data2,scale = 'count', palette='hls',inner='quartile') #palette 顏色盤 Reds Blues#圖中的白點, 散點, sns.swarmplot(x='event', y='BMI',data=data2, color='white', alpha=0.8,s=3)#透明度,s圓點的寬度plt.grid(linestyle='--', alpha=0.5)#輔助線和透明度 plt.title("athlete's BMI") plt.savefig("athlete's BMI", dpi=300)#dpi像素

?上述代碼,有幾個常用的知識點,在此mark一下

data2.dropna(inplace=True)

?上述代碼是為了處理空值數據,使用的方法是直接刪除,也可以進行填充,后續會有介紹的

data2['BMI_range'] = pd.cut(data2['BMI'],[0, 18.5, 24, 28, 50], labels=['thin', 'normal', 'strong', 'very strong'])

這里使用的是pandas庫中的cut方法,將BMI值按照區間劃分,并在相應區間給予標簽值,比如數據落入0-18.5區間,該運動員BMI則屬于‘thin’,屬于比較瘦

?在此以簡單的小例子,看一下實驗效果

pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)pd.cut([1,10, 11,23,30], [0, 10, 20,32], labels=['<10', '<20', '<30'], right=True, include_lowest=True) Out[31]: [<10, <10, <20, <30, <30] Categories (3, object): [<10 < <20 < <30]pd.cut([0, 1,10, 11,23,30], [0, 10, 20,32], labels=['<10', '<20', '<30'], right=True) Out[33]: [NaN, <10, <10, <20, <30, <30] Categories (3, object): [<10 < <20 < <30]
  • bins=[0, 10, 20,? 32],right=True,包含右端點,?include_lowest=True,包含左端點,則區間為[0,10],(10,20], (20,32];right=False,則區間為(1,10),(10,20)。
  • ?include_lowest=False,不包含左端點,是默認值,則區間不包含左端點,即第一個取值為NaN,那么上述區間劃分為為(0,10],(10,20], (20,32];
  • 總結

    以上是生活随笔為你收集整理的大鹏教你数据分析系列--运动员身材都是完美的吗的全部內容,希望文章能夠幫你解決所遇到的問題。

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