Pandas reindex 重建索引和自动填充(6)Python 数据分析从零开始

在Python数据分析中,Pandas的reindex方法用于创建符合新索引的对象,若新索引值不存在则填充缺失值。通过`reindex([新索引])`可重建索引,而`fill_value`参数允许指定默认填充值,如`reindex([新索引], fill_value='填充值')`。对于有序数据,如日期,可利用`method='ffill'`或`'bfill'`根据前后值自动填充缺失数据。" 133581095,11254346,SpringBoot实现校园学生行为大数据分析系统,"['后端开发', '大数据', 'Java', 'Spring框架', '数据库管理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写任何有关pandas的代码前,我们应该先导入pandas

        import pandas as pd

我们下面出现全部的pd都代表对pandas的引用

 

重建索引

        重建索引是Pandas的一个重要方法,主要用于创建一个符合我们需要索引内容的新对象。如果某个索引的值并之前不存在,则会被赋予一个缺失值。

        新对象 = Series/Dataframe对象.reindex( [ 新索引 ] )

import pandas as pd
dynasty=pd.Series([405,319,289,276],index=['汉朝','宋朝','唐朝','明朝'])
dyn1=dynasty.reindex(['汉朝','宋朝','唐朝','明朝','清朝'])

data=[['晴','阴','雨'],['多云','雨','雨'],['多云','晴','阴']]
wxr=pd.DataFrame(data,index=['周一','周二','周三'],columns=['北京','上海','广州'])
wxr1=wxr.reindex(['周一','周二','周三','周四'],columns=['北京','上海','广州','深圳'])

 

 

自动填充指定默认值

        我们在重建索引后,如果出现缺失值数据会很不连贯,所以需要根据需要进行填入值。这个功能就由reindex里的method参数提供。

        Series/Dataframe对象.reindex( [ 新索引 ] , fill_value='填充值' )

import pandas as pd
dynasty=pd.Series([405,319,289,276],index=['汉朝','宋朝','唐朝','明朝'])
dyn2=dynasty.reindex(['汉朝','晋朝','唐朝','宋朝','明朝','清朝'],fill_value=300)

 

data=[['晴','阴','雨'],['多云','雨','雨'],['多云','晴','阴']]
wxr=pd.DataFrame(data,index=['周一','周二','周三'],columns=['北京','上海','广州'])
wxr2=wxr.reindex(['周一','周二','周三','周四'],columns=['北京','上海','广州','深圳'],fill_value='晴')

根据前后数据值自动填充

        如果我们的对象索引是一个有序的排列,日期、数值等。那么可以使用method参数自动根据前后的数据填写缺少的值。ffill是使用前面的值填充,bfill是使用后面的值填充。这个有序的含义要是机器可以识别的有序,朝代名不算是有序。

        Series/Dataframe对象.reindex( [ 新索引 ] , method='ffill/bfill' )

import pandas as pd
dynasty=pd.Series([405,319,289,276],index=[0,2,4,6])
dyn2=dynasty.reindex([0,1,2,3,4,5,6],method='ffill')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值