Python——泰坦尼克號數據分析

目錄

??1.數據集(部分數據)

 ?? 2、導入數據集與必要模塊

?? 3.數據預處理

1?? isnull函數查看有無缺失值

2??fillna函數填充缺失值

?? Age字段使用平均值填充缺失值

?? Embarked字段填充缺失值

3?? 刪除缺失值較多的字段

?? 4.數據可視化

1?? distplot函數結合了直方圖和核密度估計圖來展示數據的分布特征

2??  countplot函數繪制條形圖,顯示分類變量的觀察計數

3?? boxenplot函數繪制箱線圖

4?? violinplot函數繪制小提琴圖

5??  對年齡進行分級,分開小孩和老人的數據

 ?? 對分級后的年齡進行可視化

 ?? 分析乘客年齡與生還乘客之間的關系


??1.數據集(部分數據)

字段名稱含義說明
Survived乘客是否獲救,Key:0=沒獲救,1=已獲救
Pclass乘客船艙等級(1/2/3三個等級艙位)
Name乘客姓名
Sex性別
Age年齡
SibSp乘客在船上的兄弟姐妹/配偶數量
Parch乘客在船上的父母/孩子數量
Ticket船票號
Fare船票價
Cabin客艙號碼
Embarked登船的港口

 ?? 2、導入數據集與必要模塊

# 1.導入必要的模塊
import numpy as np
import pandas as pd 
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']    # 用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False   # 用來正常顯示負號
%matplotlib inline# 2.導入數據
titanic = pd.read_csv(r"C:/XXX/xxx/Documents/mycrawlers/數據分析與可視化/實驗六——泰坦尼克號/titanic.csv")# 3.查看前5行數據
titanic.head()

?? 3.數據預處理

1?? isnull函數查看有無缺失值

# 查看有無缺失值
titanic.isnull().sum()   

  這里結合了sum方法,對字段的缺失值的個數進行求和

 從上述結果可見,Cabin(客艙號碼)、Embarked(登船的港口)、Fare(船票價)、Age(年齡)、Survived(乘客是否獲救)字段中均有缺失值,而Cabin和Survived是需要考慮實際的情況,從而沒有辦法對缺失值進行填充,因此我們對Age字段按照平均值的方式對其進行填充,作為一個參考

2??fillna函數填充缺失值

fillna(value,method,axis,inplace,limit,downcast)

字段數據類型含義
valuedict or series or dataframe

用于填充缺失值的值。如果傳遞的是標量,那么整個對象中的所有缺失值都會被這個標量替換。如果傳遞的是字典,那么字典的鍵應該是列名,值則是用于替換該列缺失值的值。如果傳遞的是 Series 或 DataFrame,則它們的索引必須和原對象的索引對齊,以便進行按位置的替換

method

str

用于填充缺失值的方法。

'backfill' 或 'bfill':使用下一個有效值進行填充(向后填充)

'pad' 或 'ffill':使用前一個有效值進行填充(向前填充)

None:不進行任何填充,僅返回原始對象

axis

int or str

確定沿著哪個軸進行填充。0 或 'index' 表示按行(即沿著水平軸),1 或 'columns' 表示按列(即沿著垂直軸)

inplace

bool

默認為 False,如果為 True,則直接修改原始對象而不返回新的對象

limit

int

如果 method 不是 None,則此參數用于限制連續填充的最大數量。例如,如果 limit=1,則最多只填充一個缺失值

downcast

dict or str

將可能更大的數據類型向下轉換為可能更小的數據類型,以節省內存。例如,如果某個列是 float64 類型,但所有值都是整數,那么可以將其轉換為 int64 類型

?? Age字段使用平均值填充缺失值
# 1.求age這一列的平均值
mean = titanic['Age'].mean()  # 2.查看平均值
print(mean)# 3.用均值進行缺失值的填充
titanic['Age'] = titanic['Age'].fillna(mean)# 4.統計缺失值
titanic.isnull().sum()

從上圖的結果可知,Age字段沒有缺失值,因此缺失值填充成功,而Embarked字段也可以進行填充

?? Embarked字段填充缺失值
  • 使用value_counts來統計登船地點(S,C,Q)的人數
# 1.統計登船地點(S,C,Q)的人數
titanic['Embarked'].value_counts()# 2.得到的結果為
S    914
C    270
Q    123
Name: Embarked, dtype: int64
  • 對登船地點進行缺失值的填充(填充為S)
# 1.對登船地點進行缺失值的填充(填充為S)
titanic['Embarked'] = titanic['Embarked'].fillna("S")# 2.統計Embarked字段的缺失值
titanic['Embarked'].isnull().sum()# 3.得到的結果為
0

3?? 刪除缺失值較多的字段

# 1.刪除缺失值較多的字段
del titanic['Cabin']# 2.查看數據的前五行信息
titanic.head()

?? 4.數據可視化

1?? distplot函數結合了直方圖和核密度估計圖來展示數據的分布特征

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23935.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23935.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23935.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

流媒體服務器SMS-語音對講(二)

1.簡介 上篇文件介紹了流媒體與設備之間可能的交互場景,本文將介紹客戶端或者web端與攝像頭對講的總體流程。 老規矩,介紹一下本人的開源流媒體,點個star,有興趣一起開發的朋友也可以聯系本人:https://gitee.com/inyem…

PostgreSQL的發布和訂閱功能

發布和訂閱功能在 PostgreSQL 9.0 版本中首次引入,并進一步改進和增強了后續版本中。所以,從 PostgreSQL 9.0 版本開始,就可以使用發布和訂閱功能來實現數據復制和同步 發布和訂閱功能在 PostgreSQL 中提供了一種靈活、可靠的數據復制和同步機制,具有許多優點和一些缺點:…

[數據集][目標檢測]醫療防護服檢測數據集VOC+YOLO格式649張7類別

數據集格式:Pascal VOC格式YOLO格式(不包含分割路徑的txt文件,僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數):649 標注數量(xml文件個數):649 標注數量(txt文件個數):649 標注類別…

echarts學習: 在圖表中添加多條y軸會怎么樣?

前言 在撰寫如何繪制雙y軸圖表文章時,我突然萌生出了一個想法,如果給圖表添加兩個以上的y軸會怎么樣呢? 帶著這個問題我開始了自己的探索之旅。 我找到了一篇優秀的文章作為參考,雖然它需要付費,但是不要緊,文中免費…

Vulnhub-DC-4

靶機IP:192.168.20.138 kaliIP:192.168.20.128 網絡有問題的可以看下搭建Vulnhub靶機網絡問題(獲取不到IP) 信息收集 nmap掃下端口及版本 dirsearch掃下目錄 沒發現什么敏感信息,看下前端界面 想到會不會存在SQL注入,弱密碼等漏洞。 經過測試SQL注入…

k8s網絡問題以及容器跨宿主機通信原理

【0】資源配置文件 [rootmcwk8s03 mcwtest]# ls mcwdeploy.yaml [rootmcwk8s03 mcwtest]# cat mcwdeploy.yaml apiVersion: apps/v1 kind: Deployment metadata:labels:app: mcwpythonname: mcwtest-deploy spec:replicas: 1selector:matchLabels:app: mcwpythontemplate:met…

Linux進程間通信之管道

進程間通信介紹: 進程間通信的概念: 進程間通信簡稱IPC(Interprocess communication),進程間通信就是在不同進程之間傳播或交換信息。 進程間通信的目的: 數據傳輸: 一個進程需要將它的數據…

開源WebGIS全流程常用技術棧

1 數據生產 1.1 uDig uDig(http://udig.refractions.net/)是一個基于Java開源的桌面應用框架,它構建在Eclipse RCP和GeoTools(一個開源的Java GIS包)上。可以進行shp格式地圖文件的編輯和查看;是一個開源空間數據查看…

?在哪些場景下,使用SOCKS5代理會特別有用?(socks5代理ip)?

SOCKS5代理作為網絡協議轉換的利器,其獨特功能在眾多實際場景中展現出了極大的價值。以下是幾個特定場景,其中SOCKS5代理的使用將變得尤為重要: 一、網絡安全與隱私訪問 1.高級滲透測試:在網絡安全領域,滲透測試人員…

Java 異常處理 - 自定義異常

在Java中,自定義異常是一種創建新異常類的方式,這些異常類繼承自Throwable類或其子類Exception(或RuntimeException,如果它是運行時異常的話)。自定義異常通常用于描述特定于應用程序的錯誤情況,以便為調用…

MS21112S單通道 LVDS 差分線路接收器

MS21112S 是一款單通道低壓差分信號 (LVDS) 線 路接收器。在輸入共模電壓范圍內,差分接收器可以 將 100mV 的差分輸入電壓轉換成有效的邏輯輸出。 該芯片可應用于 100Ω 的受控阻抗介質上,進行點對 點基帶數據傳輸。傳輸介質可以是印刷電路板、…

配音方面目前可以用AIGC替代嗎?( 計育韜老師高校公益巡講答疑實錄2024)

這是計育韜老師第 8 次開展面向全國高校的新媒體技術公益巡講活動了。而在每場講座尾聲,互動答疑環節往往反映了高校師生當前最普遍的運營困境,特此計老師在現場即興答疑之外,會盡量選擇有較高價值的提問進行文字答疑梳理。 *本輪巡講主題除了…

360誤刪掉的文件怎么恢復?3種文件找回辦法!

360是一款電腦安全輔助軟件,可以用它來清理垃圾、查殺病毒、修復系統等。然而,有時文件可能會被360誤認為是垃圾而自動清理,造成重要文件丟失,那么360刪掉的文件怎么恢復?下面,讓我們一起來看看如何恢復文件…

三維點云擬合平面推導及源代碼C++

1、背景介紹 實際中,很多人工構造物是由平面結構構造而成,如下圖所示,為一典型的由多個平面組成的人工構筑物。因此,根據離散點擬合成平面,獲取擬合平面方程,是點云數據處理中非常常見的數據處理操作。 2、平面擬合參數推導 基于若離散點,估算平面方程過程如下: 3、程序…

電子設計教學新篇章:SmartEDA引領學校教學升級風潮

在數字化時代的浪潮中,電子設計教學領域正迎來一場革命性的變革。SmartEDA,作為電子設計課程的新寵,以其高效、智能的特性,正成為學校教學升級的重要推手。它不僅極大地提升了電子設計的效率,還為學生們帶來了更為深入…

ChatGPT-4o提示詞的九大酷炫用法,你知道幾個?

ChatGPT-4o提示詞的九大酷炫用法,你知道幾個?🚀 博主貓頭虎的技術世界 🌟 歡迎來到貓頭虎的博客 — 探索技術的無限可能! 專欄鏈接: 🔗 精選專欄: 《面試題大全》 — 面試準備的寶典…

xstream運用,JAVA對象轉xml,xml轉JAVA對象

目錄 xstream 優點: 缺點: XStream的應用場景 用到的依賴 代碼實現 xml標簽對應的實體類 Header Package Request Response TradeInfo 工具類 XmlUtils 執行結果 xstream XStream是一個Java類庫,主要用于將對象序列化為XML&#xf…

OV通配符ssl證書是什么

通配符https證書的產品比較豐富,為了方便區分,可以按照驗證方式將通配符https證書分為DV基礎型通配符https證書和OV企業型通配符https證書兩種。其中OV通配符https證書申請條件高,審核也比較嚴格,相比于DV基礎型通配符https證書&a…

IPv4 和 IPv6 是什么意思?它們之間的區別都有哪些?

什么是 IPv4 和 IPv6 什么是 IPv4 和 IPv6 呢?下面我們就來了解一下。 IPv4 就是互聯網協議第 4 版,是目前廣泛使用的網絡協議版本。它由互聯網工程任務組(IETF)在 1981 年開發完成。IPv4 使用 32 位地址,允許大約 4…