【pandas】结合泰坦尼克生还分析讲讲pandas常用基础操作
目錄
- 1.導入庫
- 2.數據讀取
- 3.基本信息查看
- 4.獲取列
- 5.缺失值處理
- 6.數據映射
- 7.刪除數據
- 8.增加數據
- 9.篩選查找
- 10.排序
- 11.數據透視
- 1).船艙等級與生存率
- 2).性別與生存率
- 12.簡單繪圖
- 3).年齡與生存率
本文旨在結合經典案例:泰坦尼克號數據集,介紹pandas的基礎操作,力求簡潔清晰,可以作為一個教程,也可以作為一個速查表,歡迎多多收藏點贊~
泰坦尼克號數據集是一個非常經典的數據集,它記錄了泰坦尼克號的乘客信息,包括年齡、性別、是否存活等等。
我們可以用pandas來對其進行分析,一步一步揭開數據里的秘密,探索泰坦尼克號生還者們背后的真相
1.導入庫
首先,我們要把我們的工具:pandas,從工具箱里拿出來
import pandas as pd2.數據讀取
pandas是一個處理數據的全能型工具箱,你能想到的任何數據處理的操作,它都能做
然后用pandas取出我們要加工的對象:數據集。
3.基本信息查看
查看數據有哪些字段:
# 查看數據有哪些字段 data.columns# 描述性統計分析 data.describe()# 展示前3行數據 data.head(3)4.獲取列
# 獲取單列 data.Name # 獲取多列 data[["Name","Age"]]5.缺失值處理
有時候數據并不不完整,存在一些缺失,這時候可以對缺失值進行一些填充
# 查看各列缺失值個數 data.isnull().sum()# 指定值填充缺失值 data.Embarked.fillna("S")# 均值填充 data.Age.fillna(data.Age.mean())6.數據映射
在Excel中,VLOOKUP是很常用的方法,當然pandas也能做到
例如:將數據中’male’映射為1,'female’映射為0
7.刪除數據
當我不想要一些數據時,可以把它刪除掉
例如PassengerId,僅僅是一個ID,沒有實際意義,那么可以把它刪除掉
8.增加數據
可以根據一列或多列,計算出新的列,這在pandas里十分常見
在數據集中,SibSp表示乘客兄弟姐妹的數量,Parch表示父母孩子的數量
可以新建一列family,表示在船上他又多少個親人
9.篩選查找
篩選查找是十分常用且重要的操作.pandas提供了比數據庫更簡潔優雅的查找操作.
例如:篩選出生還的乘客:
再例如:篩選大于八十歲的生還乘客:
data.query("Survived == 1 and Age >= 80")10.排序
例如,按照年齡降序排列
data.sort_values(by = ["Age"],ascending = False)11.數據透視
結合數據透視,我們一起分析一下泰坦尼克號生存情況如何
1).船艙等級與生存率
以船艙等級為行,生存情況為列 ; 對生存情況求平均,可以得到生存率
Pclass 1 0.629630 2 0.472826 3 0.242363 Name: Survived, dtype: float64可以看到船艙等級越高,生還概率越大. 實際上,船艙等級越高,安全就越有保障,例如離逃生艙更近,有更高幾率逃生.
2).性別與生存率
以船艙等級為行,生存情況為列 ; 對生存情況求平均
Sex female 0.742038 male 0.188908 Name: Survived, dtype: float64女性生存率遠遠高于男性,這也體現出19世紀英國人的紳士風度,在大難臨頭時讓女人孩子老人先上逃生船
12.簡單繪圖
結合圖片,我們最后看看年齡與生還率之間的關系
3).年齡與生存率
df1 = data.query("Survived == 1").Age df2 = data.query("Survived == 0").Ageimport matplotlib.pyplot as plt plt.hist([df1,df2],stacked=True,label=['Rescued','not saved'])plt.legend() plt.title('title') plt.title('Age_Survived')總結
以上是生活随笔為你收集整理的【pandas】结合泰坦尼克生还分析讲讲pandas常用基础操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php用重写算出圆柱体的体积,枚举测试用
- 下一篇: 数据分析师需要学习什么软件