最新要闻
- 【全球新要闻】打开它 游戏性能飙升46%!NVIDIA为啥不要呢?
- 每日资讯:麦当劳赢了:世界第一美食APP
- 即时看!地球最稀有矿石就一个标本!已知6000多种矿石就它特殊
- 【天天速看料】《流浪地球2》票房破30亿!下一部或两年后上映
- 最新消息:这两年大家都在吃瘪 结果微软闷声发大财了!全靠它
- 元宵节将至:北京周五晚高峰将达严重拥堵
- 焦点报道:334个小核心反超AMD!Intel下代至强“增肥”70%
- 出厂安卓13 三星Galaxy S23承诺四次大版本迭代:包你升级Android 17
- 世界热点!在欧洲大陆上奔跑的中国新能源车正越来越多!当地人慌了
- 有钱玩家真多!越来越多Steam用户配置RTX 4090显卡:已超2万人
- 女子误用八千元一斤茶叶煮茶叶蛋 以为过期:网友称这茶叶蛋真吃不起
- 天天观天下!专家:年轻人工资低是因为能力不够 很少有人反思这问题
- 全球微速讯:爱奇艺回应3台设备登录账号被封:改密码能解封 不用充值更贵会员
- 全球滚动:PS游戏启动失败?PS日本教你如何进行问题排查
- 剧版一集就被砍之后 DC电影版《沼泽怪物》物色导演
- 订单破5万!比亚迪腾势D9登35万以上新能源豪华MPV销量第一
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天观点:Pandas分析泰坦尼克号生还比例
提出问题
影响乘客生还的因素很多,这里只对乘客的性别、年龄、乘客等级、这三个因素感兴趣,看看这四个因素是否会影响乘客的生还率。
1.性别是否会影响生还率2.年龄是否会影响生还率3.乘客等级会否会影响乘客率4.性别和舱位共同对生还率的影响5.年纪和性别共同对生还率的影响6.年纪和等级共同对生还率的影响
这里:乘客的性别、年龄、等级、是三个自变量,生还率是因变量
(相关资料图)
import pandas as pd
import numpy as np
from matplotlib import pyplot as pltdf = pd.read_csv("./data/train.csv")df.head()
熟悉数据
- PassengerId:乘客ID
- Survived:是否获救,用1和Rescued表示获救,用0或者not saved表示没有获救
- Pclass:乘客等级,“1”表示Upper,“2”表示Middle,“3”表示Lower
- Name:乘客姓名
- Sex:性别
- Age:年龄
- SibSp:乘客在船上的配偶数量或兄弟姐妹数量)
- Parch:乘客在船上的父母或子女数量
- Ticket:船票信息
- Fare:票价
- Cabin:是否住在独立的房间,“1”表示是,“0”为否
- embarked:表示乘客上船的码头距离泰坦尼克出发码头的距离,数值越大表示距离越远
1.查看各字段的数据类型
df.info()
2. 查看数据的摘要信息
df.describe()从数据摘要中可以看出。乘客的生还率大约在38%,超越50的乘客在3等级,乘客的平均年龄在30岁左右,普遍比较年轻
3. 数据清洗和处理缺失值
- Embarked有非常少的两个缺失值
- 处理Age的缺失值
Embarked有非常少的两个缺失值,这里用"S"填充
df["Embarked"]=df["Embarked"].fillna("S")
处理Age的缺失值,Age是连续数据,这里用平均值填充缺失值
age_mean=df["Age"].mean()df["Age"]=df["Age"].fillna(age_mean)
4.处理性别数据
- 这里把性别数据值字符串不便于计算换成数值,
- 用1代表男性,用0代表女性,将性别数值化
def sex_value(Sex):if Sex=="male":return 1else:return 0
df["Sex"].apply(sex_value)df["Sex"] = df["Sex"].map({"male":1, "female":0})df.head()
5. 获取生还乘客的数据
survives_passenger_df=df[df["Survived"]==1]survives_passenger_df.head()
6.性别对生还率的影响
df_sex1=df["Sex"][df["Survived"]1]df_sex0=df["Sex"][df["Survived"]0]plt.hist([df_sex1,df_sex0],stacked=True,label=["Rescued","not saved"])plt.xticks([-1,0,1,2],[-1,"F","M",2])plt.legend()plt.title("Sex_Survived")
看出全体乘客中男性占了大部分,但是生还乘客中女性占了大部分;
得出结论:女性的生还概率比男性的更高
7. 乘客等级对生还率的影响
不同等级对生还率的影响
df_sex1=df["Pclass"][df["Survived"]1]df_sex0=df["Pclass"][df["Survived"]0]plt.hist([df_sex1,df_sex0],stacked=True,label=["Rescued","not saved"])plt.xticks([1,2,3],["Upper","Middle","lower"])plt.legend()plt.title("Pclass_Survived")
全体乘客中lower等级的乘客超过了一半,生还乘客中upper等级的人最多,对比各个等级的死亡人数和生还人数:
可以得出结论:Upper等级生还概率大于Middle、lower的生存概率,等级越好生还概率越好
8. 年龄对生还率的影响
df_sex1=df["Age"][df["Survived"]1]df_sex0=df["Age"][df["Survived"]0]plt.hist([df_sex1,df_sex0],stacked=True,label=["Rescued","not saved"])
plt.xticks([1,2,3],["Upper","Middle","lower"])
plt.legend()plt.title("title")plt.title("Age_Survived")
不同年龄段对生还率的影响elderly,child,youth
年龄数据进行处理,0-18为child(少年),18-40为youth(青年),40-80为elderly(老年)
def age_duan(age):if age<=18:return 1elif age<=40:return 2else:return 3
df["Age"]=df["Age"].apply(lambda x:age_duan(x))
df_sex1=df["Age"][df["Survived"]1]df_sex0=df["Age"][df["Survived"]0]plt.hist([df_sex1,df_sex0],stacked=True,label=["Rescued","not saved"])plt.xticks([1,2,3],["child","youth","elderly"])plt.legend()plt.title("Age_Survived")
全部乘客中大部分人否在30岁左右,而0-10的生还率比其他年龄段都要高
结论:0-10岁的生还率率最高,20-40之间的生还人数最多
多因素分析
定义几个常用的方法
- 按照xx对乘客进行分组,计算每组的人数
- 计算每个组的生还率
- 输出饼图
- 输出柱状图
定义几个常用的方法
按照xx对乘客进行分组,计算每组的人数
def xx_group_all(df,xx):#按照xx对乘客进行分组后 ,每个组的人数return df.groupby(xx)["PassengerId"].count()
计算每个组的生还率
def group_passenger_survived_rate(xx):#按xx对乘客进行分组后每个组的人数group_all=xx_group_all(df,xx)#按xx对乘客进行分组后每个组生还者的人数group_survived_value=xx_group_all(survives_passenger_df,xx)#按xx对乘客进行分组后,每组生还者的概率return group_survived_value/group_all
输出饼图
def print_pie(group_data,title):group_data.plt.pie(title=title,figsize=(6,6),autopct="%.2f%%",startangle=90,legend=True)
输出柱状图
def print_bar(data,title):bar=data.plot.bar(title=title)for p in bar.patches:bar.annotate("%.2f%%"%(p.get_height()100),(p.get_x()1.005,p.get_height()*1.005))
9.性别和乘客等级共同对生还率的影响
print_bar(group_passenger_survived_rate(["Sex","Pclass"]),"Sex_Pclass_Survived")
可以看到,对生还率的影响性别>乘客等级,其次是乘客等及对生还率的影响是1>2>3等
10. 性别和年纪对生还率的影响
按Pclass分组计算每组的人数
def Pclass_survived_all(data,Pclass):return data.groupby(Pclass)["Sex"].count()dd0=df[["Age","Sex","Pclass"]]dd11=df[["Age","Sex","Pclass"]][df["Survived"]==1]c=Pclass_survived_all(dd11,["Age","Sex","Pclass"])dd0["Sex"].count()
按Pclass分组计算每组的生还率
def Pclass_survived_probability(data):#计算每组生还者的人数groupby_survived=Pclass_survived_all(dd11,data)#计算每组的总人数groupby_survived_all=Pclass_survived_all(dd0,data)return groupby_survived/groupby_survived_allprint_bar(Pclass_survived_probability(["Sex","Age"]),"Sex_Sge_Survived")可以看出,对生还率影响大的是性别,女性>男性
其次少年的生还率大于青年和老年,青年跟老年的对生还率差不多
年龄和乘客等级共同对生还率的影响
Age中用1表示少年,用2表示青年,用3表示老年
print_bar(Pclass_survived_probability(["Age","Pclass"]),"age_pclass_Survivedd")可以看出乘客的等级对生还率的影响>乘客年龄的影响
年龄越大生还率越小,乘客等级越差生还率越差
结论
通过分析,可以看出对生还率影响最大的因素是乘客等级,其次是性别,最后年龄段也对生化率有影响
分析的局限性
这里并没有从统计上分析得出这些结果的偶然性,所以并不知道这里的结果是真正的差异造成的还是噪音造成的年龄字段有一些缺失值,因为是连续数据这里用的是全体乘客年龄的均值填充缺失值,这样会缩小年龄之间的差异,也会影响分析结果
结果的相关性
这里的数据并非通过试验得出,所以无法说自变量之间的因果性,只能说她们之间有相关性
完整代买
import pandas as pdimport numpy as npfrom matplotlib import pyplot as pltdf = pd.read_csv("./train.csv")df_dec = df.describe()# 处理缺失行# 1.删除缺失行# df.drop(df[np.isnan(df["Age"])].index, inplace=True)# print(df.describe())# 2.填充平均数age_mean = df["Age"].mean()df["Age"] = df["Age"].fillna(age_mean)# print(df.describe())# 处理性别数据,将男性设置成1,女性设置成0df["Sex"] = df["Sex"].map({"male": 1, "female": 0})# print(df.head())# 取出生还者的信息survives_passenger_df = df[df["Survived"] == 1]# print(survives_passenger_df.head())# 获取生还者的性别信息df_sex1 = df["Sex"][df["Survived"] == 1] # df_sex1中的数据是生还者中男性和女性的人数# 获取遇难者的性别信息df_sex0 = df["Sex"][df["Survived"] == 0] # df_sex0的数据是遇难者中男性和女性的人数# 绘制直方图性别对生还者的影响# plt.hist([df_sex1, df_sex0], label=["Rescued", "Not saved"], stacked=True)# plt.xticks([-1, 0, 1, 2], [-1, "F", "M", 2])# plt.title("Sex Survived")# plt.legend()# plt.show()# 绘制直方图等级对生还的影响df_sur1 = df["Pclass"][df["Survived"] == 1]df_sur0 = df["Pclass"][df["Survived"] == 0]# plt.hist([df_sur1, df_sur0], label=["Rescued", "Not saved"], stacked=True)# plt.xticks([1, 2, 3], ["upper", "middle", "lower"])# plt.title("Pclass Survived")# plt.legend()# plt.show()# 绘制直方图年龄对生还的影响def age_duan(age): """年龄分段""" if age <= 18: return 1 elif age <= 40: return 2 else: return 3df["Age"] = df["Age"].apply(age_duan)df_age1 = df["Age"][df["Survived"] == 1]df_age0 = df["Age"][df["Survived"] == 0]plt.hist([df_age1, df_age0], label=["Rescued", "Not saved"], stacked=True)plt.xticks([1, 2, 3], ["child", "young", "old"])plt.legend()plt.title("Age Survived")plt.show()
-
.NET Core 3.1 通过 Web Service 读写 Salesforce 数据
1 下载WSDL文件 2 项目右键->添加->服务引用->WCFWebService,选择刚才下载的WSDL文件,修改命名空间为Salesforc
来源: 天天观点:Pandas分析泰坦尼克号生还比例
天天新资讯:图卷积的演变-从谱图卷积到GCN
.NET Core 3.1 通过 Web Service 读写 Salesforce 数据
【全球新要闻】打开它 游戏性能飙升46%!NVIDIA为啥不要呢?
每日资讯:麦当劳赢了:世界第一美食APP
即时看!地球最稀有矿石就一个标本!已知6000多种矿石就它特殊
【天天速看料】《流浪地球2》票房破30亿!下一部或两年后上映
最新消息:这两年大家都在吃瘪 结果微软闷声发大财了!全靠它
视焦点讯!Spring中Bean的生命周期
一名老了的普通程序员的未来在哪里
元宵节将至:北京周五晚高峰将达严重拥堵
焦点报道:334个小核心反超AMD!Intel下代至强“增肥”70%
出厂安卓13 三星Galaxy S23承诺四次大版本迭代:包你升级Android 17
世界热点!在欧洲大陆上奔跑的中国新能源车正越来越多!当地人慌了
当前热讯:编写干净代码的 9 条必须知道的规则
有钱玩家真多!越来越多Steam用户配置RTX 4090显卡:已超2万人
Python教程:OS与sys模块用法教程
世界看点:mybatis-plus代码生成器
女子误用八千元一斤茶叶煮茶叶蛋 以为过期:网友称这茶叶蛋真吃不起
天天观天下!专家:年轻人工资低是因为能力不够 很少有人反思这问题
全球微速讯:爱奇艺回应3台设备登录账号被封:改密码能解封 不用充值更贵会员
全球滚动:PS游戏启动失败?PS日本教你如何进行问题排查
剧版一集就被砍之后 DC电影版《沼泽怪物》物色导演
订单破5万!比亚迪腾势D9登35万以上新能源豪华MPV销量第一
环球微动态丨导演评价《狂飙》:可能是可以刻在自己墓碑上的一部戏
每日快报!12.4万的保时捷带来诸多疑问 故意营销质疑越来越多!
造车新势力第一!广汽埃安1月交付10206辆 今年冲击60万辆
天天观热点:CSS 清除浮动
今日快讯:蔚来开启降价 内部员工回应:像小鹏那样直接降太没面子
彻底不冒黑烟!沃尔沃天然气重卡发布:发动机最大500马力
世界速讯:30岁中国女子在日本买70万平小岛成岛主:永久使用权
天天资讯:体育纳入高考、鲨鱼咬人?朋友圈十大谣言出炉
环球速看:800W核弹 老外猜测RTX Titan Ada售价:2.5万元都是良心价
每日信息:程序员应该专注技术,还是优雅转管理?
环球今日报丨超越三星 中国电视品牌出货量首次登顶全球第一
天天看热讯:33款砍掉一半多!奔驰大刀阔斧改革旗下车型:不赚钱的都扔掉
环球短讯!上海动物园小老虎意外溺亡 回应:因外界人员干扰致应激反应
河南一地发现大型石墨矿:自然界最软的矿物 估算超100万吨
95比92更耐烧吗、中石化和中石油能混加吗?官方科普
当前焦点![JavaSript]闭包
即时焦点:element-ui表格展开行每次只能展开一行
阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了
热推荐:MyBatis的使用一(框架的搭建)
环球要闻:数字孪生|可视化图表之散点图
焦点报道:视网膜能秒击穿!网友用小米12实测新能源车激光雷达威力:相机被烧坏
天天速讯:可口可乐定制版真我10 Pro外观首曝:最具辨识度的千元机
世界滚动:《狂飙》落幕后 《三体》剧版上线超前点播:18元提前看大结局
安卓之光归来 三星对Galaxy S23系列很自信:最好的相机及游戏性能
世界今日报丨小米汽车设计泄密供应商被处罚100万!雷军:泄密员工正在处理
自动化运维:如何构建和部署前端应用
cpp简单总结
你只会用 xxl-job?一款更强大、新一代分布式任务调度框架来了,太强大了!
微动态丨可口可乐定制版真我10 Pro官宣:LCD屏 边框比iPhone 14 Pro还窄
天天快资讯丨英特尔锐炫显卡驱动更新:DirectX 9游戏性能提升超过40%
环球速递!连赢友商两代的CPU功臣退位 AMD确认5nm Zen4今年成为主力
【天天热闻】吃鱼或将再也不用挑刺了!中国科学家取得新突破:基因突变搞定
《狂飙》大结局口碑崩了!豆瓣评分跌至8.8:网友吐槽结尾仓促
多功能游戏工具箱 - Watt Toolkit V4.4
每日视讯:IOS逆向--恢复Dyld的内存加载方式
世界快讯:智能学习灯赛道竞争日趋激烈 火山引擎 VeDI 用数据技术助力打造新优势
全球微资讯!Java里面为什么搞了双重检查锁,写完这篇文章终于真相大白了
抄袭、偷票房、成本1千万争端不断!张艺谋:《满江红》是正能量传承
网易暴雪游戏退款服务爆火!排队人数超100万 你退了多少?
恒大恒驰上海公司被强执409万:累计被执行2.8亿
天天热头条丨微信多开工具,微信消息防撤回、QQ消息防撤回、Tim消息防撤回,不错过每一条消息
京东PLUS会员与爱奇艺、喜马拉雅联名卡宣布调价:都涨了
视焦点讯!能怎样?韩数万用户上诉苹果:故意降低旧款iPhone性能让换新败诉
每日观察!马斯克测试推特“仅粉丝可见”遭群嘲:懂的工程师都被裁了?
每日消息!董明珠造车路又遭一击!海南三亚67辆格力钛新能源大巴起火被烧
焦点简讯:限制480P投屏被7年老粉起诉:律师称爱奇艺大概率会败诉
网友囤1000片退烧药全砸手里了被点赞:囤N95口罩血氧仪价格也都惨了
iPhone反复输错密码 Apple ID锁定怎么办?苹果解答
当前播报:比特斯拉还狠!蔚来被曝降价促销 降幅最高超过10万元
环球新动态:刚上班三天就被裁。。还有谁!!
对话 BitSail Contributor | 梁奋杰:保持耐心,享受创造
当前视点!云原生场景下实现编译加速
【北斗七星】北斗卫星授时之星解读与应用
全球速看:kubernetes 污点(Taint)和容忍度(Toleration)研究
完胜iPhone 14 Pro Max!一加Ace 2连续滑动10万次:没有1次断触
天天快资讯丨河北90后小伙做叶雕月入过万 一张“树叶”售价120元
天天微头条丨米哈游起诉《原神》内鬼泄密 获赔15000元
世界观天下!小米汽车设计文件意外泄密被疯传!小米通报:供应商被罚100万
批判主义的观点是什么?批判主义的代表人物有哪些?
什么是平稳序列?平稳序列的三个条件是什么?
imovie怎么添加音乐?imovie怎么调整视频画面大小?
怎么制作电子图章?图章制作软件有哪些?
罹难怎么读?罹难是什么意思?
平板电视和液晶电视有什么区别?平板电视哪个牌子质量好?
ctrl键无响应是什么原因?ctrl键无响应怎么办?
怎么用电脑打电话?电脑打电话没声音是怎么回事?
手机进水了怎么处理比较好?手机进水了放什么歌可以把水震出来?
csv文件用什么打开?csv文件打开乱码的解决方法
环球快消息!将Windows系统设置为NTP服务器
全球快看:38999元 雷蛇灵刃18游戏本上架:13代i9+RTX 4090
世界球精选!《雷霆沙赞:众神之怒》国内定档3月17日:与北美同步上映
李书福是懂借壳上市的 吉利旗下跑车“路特斯”赴美上市
女子手机不慎落入西湖 “打捞神器”只用30秒捞出
可惜了!《泰坦陨落》还有未公布的单机版游戏 现已被EA砍掉
vmware时间不同步问题
全球热讯:真爱粉!网友凌晨4点花1万多下单三星Galaxy S23 Ultra:直言“早买早享受”