组队学习之Task3 数据重构

第二章:数据重构

2.4 数据的合并
2.4.1 将data文件夹里面的所有数据都载入,观察数据的之间的关系
text_left_up=pd.read_csv('data/train-left-up.csv')
text_left_down=pd.read_csv('data/train-left-down.csv')
text_right_up =pd.read_csv('data/train-right-up.csv') 
text_right_down=pd.read_csv('data/train-right-down.csv')

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.4.2:使用concat方法:将数据train-left-up.csv和train-right-up.csv横向合并为一张表,并保存这张表为result_up
result_up=pd.concat([text_left_up,text_right_up],axis=1)
result_up.head(3)

在这里插入图片描述

2.4.3 使用concat方法:将train-left-down和train-right-down横向合并为一张表,并保存这张表为result_down。然后将上边的result_up和result_down纵向合并为result。
list_down=[text_left_down,text_right_down]
result_down=pd.concat(list_down,axis=1)
result_down.head(3)

在这里插入图片描述

list_result=[result_up,result_down]
result=pd.concat(list_result,axis=0)
result.head(5)

在这里插入图片描述

2.4.4 使用DataFrame自带的方法join方法和append:完成任务二和任务三的任务
 result_up1=text_left_up.join(text_right_up)
result_down1=text_left_down.join(text_right_down)
result1=result_up1.append(result_down1)
result1.head(5)

在这里插入图片描述

2.4.5 任务五:使用Panads的merge方法和DataFrame的append方法:完成任务二和任务三的任务

注意:merge这里是根据索引合并,须将left_index=True,right_index=True,否则会报错(你们可以自己试试)

result_up2=pd.merge(text_left_up,text_right_up,left_index=True,right_index=True)
result_down2=pd.merge(text_left_down,text_right_down,left_index=True,right_index=True)
result2=result_up2.append(result_down2)
result2.head()

在这里插入图片描述

2.4.6 完成的数据保存为result.csv
result.to_csv('result.csv')
2.5 换一种角度看数据
2.5.1 将我们的数据变为Series类型的数据
text=pd.read_csv('result.csv')
#转成series类型
unit_result=text.stack() # stack:行变列,相当于转置了
unit_result

在这里插入图片描述

2.6 数据聚合与运算和应用

2.6.2:计算泰坦尼克号男性与女性的平均票价
text=pd.read_csv('result.csv')
means=text['Fare'].groupby(text['Sex']).mean()
means

在这里插入图片描述

2.6.3:任务三:统计泰坦尼克号中男女的存活人数
survived_sex =text['Survived'].groupby(text['Sex']).sum()
survived_sex.head()
#也可以先分组:survived_sex =text.groupby('Sex')['Survived'].sum()

在这里插入图片描述

2.6.4:计算客舱不同等级的存活人数
text['Survived'].groupby(text['Pclass']).sum()

在这里插入图片描述在这里插入图片描述思考】从数据分析的角度,上面的统计结果可以得出那些结论

1.从男女的存活人数看:女性大概是男性的两倍(猜测在灾难面前,女生优先救助)
2.客舱等级最高的存活人数最高

思考】:如果将上面完成的聚合,写在一起怎么搞?利用agg

text.groupby(['Survived']).agg([('Sex','mean'),('Pclass','count')]).rename(columns=
                            {'Sex': 'mean_sex', 'Pclass': 'count_pclass'})

在这里插入图片描述还有一些列没显示,由于图片太长了

2.6.5:统计在不同等级的票中的不同年龄的船票花费的平均值
text.groupby(['Pclass','Age'])['Fare'].mean().head()

在这里插入图片描述

2.6.6将2.6.2和2.6.3的数据合并
result = pd.merge(means,survived_sex,on='Sex')
result

在这里插入图片描述

2.6.7:得出不同年龄的总的存活人数,然后找出存活人数的最高的年龄,最后计算存活人数最高的存活率(存活人数/总人数)
#不同年龄的总存活人数
survived_age=text.groupby(['Age'])['Survived'].sum()
survived_age

在这里插入图片描述

2.6.7:得出不同年龄的总的存活人数,然后找出存活人数的最高的年龄,最后计算存活人数最高的存活率(存活人数/总人数)
#找出最大值的年龄段
survived_age[survived_age.values==survived_age.max()]
# 总人数
sum=text['Survived'].sum()
sum
# 存活人数最高的存活率(存活人数/总人数)
precetn =survived_age.max()/sum

print("最大存活率:"+str(precetn))

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值