动手学数据分析 task3 数据重构

一、数据合并

1、使用pd.concat(objs, axis=0, join=‘outer’, […])

objs: series,dataframe构成的序列 list
axis: 需要合并链接的轴,0是行,1是列
join:连接的方式 inner,或者outer

list_up = [text_left_up,text_right_up]
result_up = pd.concat(list_up,axis=1)
result_up.head()

2、使用DataFrame自带的方法join方法和append

resul_up = text_left_up.join(text_right_up)
result_down = text_left_down.join(text_right_down)
result = result_up.append(result_down)
result.head()

3、使用Panads的merge方法和DataFrame的append方法

result_up = pd.merge(text_left_up,text_right_up,left_index=True,right_index=True)
result_down = pd.merge(text_left_down,text_right_down,left_index=True,right_index=True)
result = result_up.append(result_down)
result.head()
二、stack函数作用?

常见的数据的层次化结构有两种,一种是表格,一种是“花括号”,即下面这样的l两种形式:
在这里插入图片描述
在这里插入图片描述
表格在行列方向上均有索引(类似于DataFrame),花括号结构只有“列方向”上的索引(类似于层次化的Series),结构更加偏向于堆叠(Series-stack,方便记忆)。stack函数会将数据从”表格结构“变成”花括号结构“,即将其行索引变成列索引。另外,unstack函数将数据从”花括号结构“变成”表格结构“,即要将其中一层的列索引变成行索引。

三、数据聚合与运算

1、group by:一般和sum()、mean()等聚合函数一起,使用默认axis=0按行分组,可指定axis=1对列分组。字段内的数据重构后都会变成索引

df  = text['Fare'].groupby(text['Sex'])
means = df.mean()

survived_sex = text['Survived'].groupby(text['Sex']).sum()

survived_pclass = text['Survived'].groupby(text['Pclass'])
survived_pclass.sum()

2、1中的运算可以通过agg()函数来同时计算,且可以使用rename函数修改列名

df.groupby('Survived').agg({'Sex': 'mean', 'Pclass': 'count'}).rename(columns={'Sex': 'mean_sex', 'Pclass': 'count_pclass'})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值