行、列重排序经常需要使用到。
现在有一个DataFrame:
数据源现在DataFrame的索引是默认索引,从0开头的。之前的文章里,我讲过用set_index()将某一列设为索引。我就把‘序号’这一列设置为索引。
设置序列为索引set_index()是重新设置一个索引。
而reindex()是将现有的行或者列调整顺序,这是两者的区别。
行重新排序 列重新排序如果在新的索引名或者列名中,出现新的值,会发生添加新的行或者列,里面全是空值,而没有选中的行或者列就不会出现。
行列出现新值所以如果在添加新行或列时,设置fill_value就可以将空值填充。
用fill_value填充空值这里的reindex()可以给DataFrame添加新的行和列,之前讲过的loc[]也可以添加。但是reindex()需要将所有的行索引或者列名全部表示出来,所以便利性不如loc[]。但是如果添加行列较多,而且需要根据上下文填充空值的时候,reindex()就方便一些了。
数据源 空值索引 使用bfill函数填充 使用ffill函数method='bfill'可以根据后面一个值进行填充,而method=’ffill'则是根据前面一个值进行填充。
bfill可以理解为‘back fill', 'ffill'可以理解为’front fill'。
但是这个参数使用有个条件:索引应该是升序或者降序的,如果索引顺序是乱的就会报错。
网友评论