Pandas模块学习笔记4:缺失数据处理与层次化索引
1、缺失数据处理
(1)滤除缺失数据
frame.dropna() //删除含有缺失值的行 frame.dropna(how='all') //删除所有值均为缺失值的行 frame.dropna(axis=1, how='all') //删除所有制均为缺失值的列 frame.dropna(thresh=3) //显示非缺失值不少于3个的行
(2)补充缺失数据
frame.fillna(0) //将缺失值填充为0 df.fillna(method='ffill', limit=2) //使用向下填充,限制最多向下填充2个 data.fillna(data.mean()) //将缺失值填充为均值 df.fillna({1: 0.5, 2: 100}) //使用字典填充,index =1的行缺失值填充为0.5,index =2的行缺失值填充为100
2、层次化索引
层次化索引(hierarchical indexing)是pandas的一项重要功能,它能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它使能以低维度形式处理高维度数据。
frame= Series( np.random.randn(10), index=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd'], [1, 2, 3, 1, 2, 3, 1, 2, 2, 3]] ) frame['b':'c'] //取出从index ='b'到index ='c'的所有行(包括c),即b1,b2,b3,b1,c2 frame[:, 2] //选取第一层所有,第二层的index=2,即a2,b2,c2,d2 frame.unstack(level=0) //以外层(第0层)abcd为列索引,反堆叠 frame.unstack(level=1) //以内层(第1层)123为列索引,反堆叠 frame.unstack().stack() //堆叠

浙公网安备 33010602011771号