python 按照行取平均值补齐缺失数据

import pandas as pd


###根据行来求平均值
def fill_NAN():
    filePath = r'E:\study-python\0819\filled_meter-500.csv'
    df0 = pd.read_csv(filePath, engine='python', encoding='utf-8-sig')

    df = df0.drop("MeterNo", axis=1)

    df2 = df.T
    #df3 = df2.fillna(df2.mean())  ##平均值
    #df3 = df2.fillna(df2.median()) ##中位数
    df3 = df2.fillna(method='ffill').fillna(method='bfill')##用前一个非缺失值去填充该缺失值
    ##用下一个非缺失值填充该缺失值
    df4 = df3.T
    ##合并表号方法一
    #df4.loc[:, "MeterNo"] = df0['MeterNo']
    ##合并方法2
    ##pandas-两个Series拼接合并为一个DataFrame(pd.concat)
    df4 = pd.concat([df0['MeterNo'],df4], axis=1)
    print(df4)

    filePath = r'E:\study-python\0819\filled_meter-500-after.csv'
    df4.to_csv(filePath, encoding='utf-8-sig') # 存下该数据
if __name__ == '__main__':
    fill_NAN()

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值