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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

pandas pivot 计算占比_数据分析Pandas 基础(二)

發(fā)布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas pivot 计算占比_数据分析Pandas 基础(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

推薦閱讀:數(shù)據(jù)分析--Pandas 基礎(一)

上一節(jié)課介紹了 Pandas 的基本用法,這一章節(jié)我們通過對 “泰坦尼克號” 幸存者進行數(shù)據(jù)分析,來進一步的學習 pandas。

titanic_train.csv

網(wǎng)盤鏈接:鏈接:https://pan.baidu.com/s/1hGc19QAGV6H-hDtOdz-GpQ 提取碼:sgu8

image-20200618091812300

數(shù)據(jù)簡介:

  • PassengerId:乘客ID
  • Survived:是否獲救,用1和Rescued表示獲救,用0或者not saved表示沒有獲救
  • Pclass:乘客等級,“1”表示Upper,“2”表示Middle,“3”表示Lower
  • Name:乘客姓名
  • Sex:性別
  • Age:年齡
  • SibSp:乘客在船上的配偶數(shù)量或兄弟姐妹數(shù)量)
  • Parch:乘客在船上的父母或子女數(shù)量
  • Ticket:船票信息
  • Fare:票價
  • Cabin:是否住在獨立的房間,“1”表示是,“0”為否
  • embarked:表示乘客上船的碼頭距離泰坦尼克出發(fā)碼頭的距離,數(shù)值越大表示距離越遠

首先讀入 數(shù)據(jù)

import?pandas?as?pd
import?numpy?as?np
titanic_survival?=?pd.read_csv("titanic_train.csv")
titanic_survival.head()?#查看前幾行數(shù)據(jù)

image-20200618091440524

在 pandas 中,使用 NaN 表示數(shù)據(jù)為空,表示數(shù)據(jù)缺失

使用 .isnull()函數(shù)判斷一列數(shù)據(jù)是否為空

age?=?titanic_survival["Age"]
age_is_null?=?pd.isnull(age)
print(age_is_null)

image-20200618094104841

查看空數(shù)據(jù)情況

age_null_true?=?age[age_is_null]
print?(age_null_true)

image-20200618094407869

上圖顯示出,Age 這一列 ,長度 177, 數(shù)據(jù)類型 float64

也可以直接使用len()來判斷長度

age_null_count?=?len(age_null_true)
print(age_null_count)

>>>?177

在我們處理數(shù)據(jù)過程中,如果數(shù)據(jù)中包含 nan 會導致計算出錯,下面來演示計算泰坦尼克號幸存者的平均年齡

mean_age?=?sum(titanic_survival["Age"])?/?len(titanic_survival["Age"])
print?(mean_age)

>>>nan

如上所示,在計算之前我們需要過濾掉空數(shù)據(jù)

good_ages?=?titanic_survival["Age"][age_is_null?==?False]
print?(good_ages)

我們知道第 888 號數(shù)據(jù)為空,下圖第888號數(shù)據(jù)被過濾

image-20200618095203606

過濾掉空數(shù)據(jù),再計算均值:

correct_mean_age?=?sum(good_ages)?/?len(good_ages)
print?(correct_mean_age)

>>>?29.69911764705882

我們也可以使用.mean()來計算均值,可以過濾空數(shù)據(jù)

correct_mean_age?=?titanic_survival["Age"].mean()
print?(correct_mean_age)

>>>29.69911764705882??#結果和上式相同

一共有3個種類的艙位,下面計算每種艙位的平均價格

passenger_classes?=?[1,?2,?3]
fares_by_class?=?{}
for?this_class?in?passenger_classes:
????pclass_rows?=?titanic_survival[titanic_survival["Pclass"]?==?this_class]
????pclass_fares?=?pclass_rows["Fare"]
????fare_for_class?=?pclass_fares.mean()
????fares_by_class[this_class]?=?fare_for_class
print?(fares_by_class)

>>>?{1:?84.1546875,?2:?20.662183152173913,?3:?13.675550101832993}

計算 3 個艙位的生還概率,可以使用 .pivot_table(index, values, aggfunc)方法

index:索引列

values:目標列(待計算)

aggfunc:使用的方法

我們先看一下原表,0 代表死亡,1 代表生還,Pclass 艙位等級,分 1 ,2, 3 三個等級的艙位,以 Pclass 為索引,以 Survived 為值,計算生還概率

image-20200618114805599passenger_survival?=?titanic_survival.pivot_table(index="Pclass",?values='Survived',?aggfunc=np.mean)
print(passenger_survival)

image-20200618114626768

艙位選擇的平均年齡

passenger_age?=?titanic_survival.pivot_table(index="Pclass",?values="Age")
print(passenger_age)

image-20200618121606952

以 上船距離為索引,費用和生還人數(shù)為值

port_stats?=?titanic_survival.pivot_table(index="Embarked",?values=["Fare","Survived"],?aggfunc=np.sum)
print(port_stats)

image-20200618202225249

令 axis=1 或者 axis=‘columns’,可以刪除 含有 null 的列

drop_na_columns?=?titanic_survival.dropna(axis=1)
new_titanic_survival?=?titanic_survival.dropna(axis=0,subset=["Age",?"Sex"])
print?(new_titanic_survival)

image-20200618202841715

如下圖,通過對比可以發(fā)現(xiàn),“Age”列的第 888 行為空,被去除

image-20200618203144439

生還者按照年齡降序排列

new_titanic_survival?=?titanic_survival.sort_values("Age",ascending=False)
print?(new_titanic_survival[0:10])?#顯示前10個數(shù)據(jù)

image-20200618204725623

重置索引:

titanic_reindexed?=?new_titanic_survival.reset_index(drop=True)
print(titanic_reindexed.loc[0:10])

image-20200618211141628

返回第 100 個乘客的信息

def?hundredth_row(column):
????#?Extract?the?hundredth?item
????hundredth_item?=?column.loc[99]
????return?hundredth_item

#?Return?the?hundredth?item?from?each?column
hundredth_row?=?titanic_survival.apply(hundredth_row)
print?(hundredth_row)

image-20200618211108414

表的每列中為空的個數(shù)

def?null_count(column):
????column_null?=?pd.isnull(column)
????null?=?column[column_null]
????return?len(null)

column_null_count?=?titanic_survival.apply(null_count)
print?(column_null_count)

image-20200618211527756

分別計算成年與未成年人的生還概率

首先,對乘客進行分類,以 18 歲為標準

def?generate_age_label(row):
????age?=?row["Age"]
????if?pd.isnull(age):
????????return?"unknown"
????elif?age?????????return?"minor"
????else:
????????return?"adult"

age_labels?=?titanic_survival.apply(generate_age_label,?axis=1)
print?(age_labels)

image-20200618212156587

計算生還該概率

titanic_survival['age_labels']?=?age_labels
age_group_survival?=?titanic_survival.pivot_table(index="age_labels",?values="Survived")
print?(age_group_survival)

image-20200618212419599

總結

以上是生活随笔為你收集整理的pandas pivot 计算占比_数据分析Pandas 基础(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 毛片一级在线观看 | 青娱乐在线视频观看 | 久久99婷婷| 久草视频免费播放 | 久久狠狠婷婷 | 国产情侣自拍一区 | 人人妻人人藻人人爽欧美一区 | 91大神视频在线播放 | 中文字幕高清在线免费播放 | 国产在成人精品线拍偷自揄拍 | 欧美日韩一区二区在线视频 | 欧美国产精品一二三 | 日韩美女免费视频 | 男女av免费 | 欧美.www | 激情小说视频在线 | 欧美日韩视频在线观看一区 | 99一区二区 | 色射综合 | 国产精品美女一区二区三区 | 五月婷六月 | 日韩欧美国产网站 | 玉女心经是什么意思 | 色呦呦免费 | 日韩亚洲国产精品 | 国内国产精品天干天干 | 天堂中文在线视频 | 特级淫片aaaaaaa级附近的 | 午夜精品久久久久久久 | 亚洲一区精品在线观看 | 亚洲日本中文字幕 | 麻豆免费下载 | 久久99精品国产麻豆婷婷 | 97视频免费看| 西西人体大胆4444ww张筱雨 | 五月婷婷丁香花 | 久久精品韩国 | 欧美在线观看不卡 | 99这里只有 | 91国产一区二区 | 激情网五月天 | 国产在线视频资源 | 美足av| 天天人人| 亚洲一区二区三区电影在线观看 | 国产成人在线观看 | 91精品国产视频 | 99超碰在线观看 | 在线播放亚洲 | 国产精品久久久久久久久久久久久久久久 | 亚洲一区观看 | 五月深爱 | 色偷偷av | 天堂网视频 | 天天看片天天操 | www久久久久久 | 国产精品911 | 欧美亚洲综合久久 | 青草视频污 | 韩国日本中文字幕 | 欧美在线www | 国产人妻精品午夜福利免费 | 国产精品久久久久久久午夜 | 99re在线视频观看 | h部分肌肉警猛淫文 | 看毛片看毛片 | 女人18毛片水真多18精品 | 成人影视在线播放 | 不卡黄色 | 91丝袜呻吟高潮美腿白嫩在线观看 | 夜夜嗨av禁果av粉嫩avhd | 国产又粗又长又爽 | 欧美日韩国产伦理 | 中文字幕色站 | 亚洲乱码视频在线观看 | 亚洲成人av中文字幕 | 国产精品国产精品 | 美女av网站 | 色综合欧美 | 久久特级毛片 | 偷偷色噜狠狠狠狠的777米奇 | 欧美日本在线播放 | 在线免费观看一区 | 91精品国产高清一区二区三蜜臀 | 毛片999 | 一本大道一区二区 | 36d大奶 | 少妇人妻真实偷人精品视频 | 草逼导航 | 少妇人妻偷人精品一区二区 | 王者后宫yin肉h文催眠 | 天堂中文字幕 | 人人妻人人做人人爽 | 国产精品福利影院 | 国产成人超碰人人澡人人澡 | xxx日本黄色| 最新天堂中文在线 | 91视频播放器 | 欧美重口另类 |