Pandas数据分析实战01--Abalone Data Set(鲍鱼数据集)
Pandas數據分析實戰01
- 1. 數據描述
- 2. 數據讀取
- 3. 數據呈現
- 4. 數據分析
打算從基礎開始學習數據分析,給自己一個整理內容和學習消化的時間,所以,這也將成為我的學習筆記。
1. 數據描述
原始數據集包括六個屬性:Gender,Length,Diameter,Height,Weight,Rings:
2. 數據讀取
2.1 導入庫
import pandas as pd2.2 讀取文件
data = pd.read_csv("abalone.csv")2.3 查看數據表信息
先來一波兒基礎操作,熱熱身~
data.columns # 查看數據列名 data.shape # 查看數據框中有多少個觀測值 data.head(4) # 打印數據的前四行 data.head(4)['Rings'] # 打印前四行中Rings的值 data.tail(3) # 提取數據集的最后三行 data.tail(3)['Weight'] # 輸出最后三行鮑魚的重量 data.loc[577]['Diameter'] # 輸出第577行的直徑值 data.mean()['Height'] # 輸出高度列的平均值什么(O_o)?? 沒難度?那是因為我不想讓你掉頭發!
# 提取 gender 為M并且 weight 值低于0.75的數據框的行子集 subset=data[(data['Gender']=='M') & (data['Weight']<0.75)] # 輸出此子集中 diameter 的平均值 subset.mean()['Diameter'] # 輸出年齡等于18的鮑魚的最小長度 data.loc[data["Rings"]==18,"Length"].min()3. 數據呈現
3.1 鮑魚任意兩個屬性之間的關系可視化:
交叉表與熱圖結合(個人覺得是數據分析界的炸雞和啤酒)
熱圖的色彩變化豐富多樣、信息表達生動飽滿,搭配交叉表的使用,是一種非常不錯的可視化手段,被用于各種大數據分析場景,我在這里嘗試一下:
輸出結果如下圖:
3.2 鮑魚三個屬性之間的關系可視化:
輸出結果如圖:一般很難讀懂按這種方式可視化的多種特征的關系信息,下一次,會有更好地方式,值得期待。
4. 數據分析
? 鮑魚的體重與它們有多少個環有關嗎?
劃重點 開始分析之前,先把數據清洗一下:
運行之后,是這醬紫的…
| count | 1000.000000 | 1000.000000 | 1000.000000 | 1000.000000 | 1000.000000 |
| mean | 0.522760 | 0.405955 | 0.141100 | 0.825540 | 11.318000 |
| std | 0.120064 | 0.098832 | 0.057064 | 0.490380 | 47.227697 |
| min | 0.075000 | 0.055000 | 0.000000 | 0.002000 | 1.000000 |
| 25% | 0.450000 | 0.345000 | 0.115000 | 0.438875 | 8.000000 |
| 50% | 0.545000 | 0.420000 | 0.145000 | 0.801000 | 9.000000 |
| 75% | 0.615000 | 0.480000 | 0.165000 | 1.146250 | 11.000000 |
| max | 0.815000 | 0.650000 | 1.130000 | 2.555000 | 1500.000000 |
…
我們囧囧有神…哦不…是炯炯有神的兩只“照妖鏡”發現一只千年鮑魚精,呔!妖精,哪里逃,快還我真實數據~
于是,便有了下面一場"惡戰"(其實也就一行代碼,看來這只鮑魚精道行不夠)…
.
言歸正傳,數據集中難免存在數據錯誤,根據數據集中的其他相關數據,我將其修正為了15.
回到問題:鮑魚的體重和環之間是否存在聯系?
解決方案1
輸出結果如下圖:從散點圖中可以看出,鮑魚的環和體重不存在明顯的相關關系。
解決方案2
輸出結果如下:可見鮑魚的weight和rings并沒有很強的關聯.
| Length | 1.000000 | 0.987479 | 0.598616 | 0.920861 | 0.555995 |
| Diameter | 0.987479 | 1.000000 | 0.602035 | 0.923661 | 0.575281 |
| Height | 0.598616 | 0.602035 | 1.000000 | 0.585369 | 0.388355 |
| Weight | 0.920861 | 0.923661 | 0.585369 | 1.000000 | 0.532438 |
| Rings | 0.555995 | 0.575281 | 0.388355 | 0.532438 | 1.000000 |
解決方案3
data_mean=data.groupby('Rings').mean() # 求所有鮑魚的環的平均值 plt.plot(data_mean['Weight']) # 繪制折線圖輸出結果如下:
奉上一張思維導圖
這篇筆記一定還有很多不完善的地方,希望朋友們多多提出不足,大家一起交流,期待!
下一次的筆記:
- 把所有數據分析可能用到的模塊函數進行總結
總結
以上是生活随笔為你收集整理的Pandas数据分析实战01--Abalone Data Set(鲍鱼数据集)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人民链鲍大伟:打破壁垒,建立全域数据治理
- 下一篇: pandas内置数据集_Pandas数据