数据重塑和轴向转换
Series 层次化索引
外层索引
外层切片
外层加内层
取具体的值
Series和DataFrame的转换
通过unstack方法可以将Series变成一个DataFrame
转回
DataFrame的层次化索引
DataFrame行和列都可以进行层次化索引
此时四个索引决定一个值
可以设置索引名称
位置调整
接下来我们就可以将豆瓣电影数据变成多层次索引结构
接下来,把产地和年代同时设置成索引,产地是外层索引,年代是内层索引
set_index可以把列变成索引
reset_index是把索引变成列
其实每个索引都是一个元组
获取所有美国电影,由于产地信息变成了索引,因此要用.loc方法。
取消层次化索引
数据旋转
行列转化:以前5部电影为例
.T可以直接让数据的行列进行交换
DataFrame也可以使用stack和unstack,转化为层次化索引的Series
数据分组,分组运算
GroupBy技术:实现数据的分组和分组运算,作用类似于数据透视表
例:按照电影的产地进行分组
也可以对每一列进行操作
例:计算每年平均分数
注:只会对数值变量进行分组运算
我们也可以传入多个分组变量
获得每个地区,每一年的电影的评分均值
Serious通过unstack方法转换成dataframe
没有的话会产生缺失值
离散化处理
在实际数据分析中,对有的数据属性,我们往往并不关注数据的绝对取值,只关注他所取得区间或等级。
例:我们可以把评分9分以上的电影定义为A,7到9分定义为B,5到7分定义为C,3到5分定义成D,小于3分定义为E
离散化处理可称为分组,区间化
同样我们可以根据投票人数来刻画电影的热门
接下来就可以进行进一步分析:
大烂片集合:投票人数很多但是评分很低
保存数据
合并数据集
(1)append
先把数据集拆分为多个,再进行合并
(2)merge
首先先准备数据
将df2的数据打乱再进行演示
序号重新排一下
接下来将数据进行合并
(3)concat
批量合并
注:axis=0是默认的,增加行数;如果想增加列数,那么将其设置为1