缺失值处理——寻找缺失值

Posted helloandhey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缺失值处理——寻找缺失值相关的知识,希望对你有一定的参考价值。

最近在做天池的一个比赛,真是应了那句俗语‘一窍不得,少挣几百’。在寻找缺失值的时候看到了队友写的代码,感触颇多,想记录下来。

缺失值处理一直是影响模型效果的重要因素,听过好多前辈说过好的模型不如好的数据。

这次比赛是时间序列的比赛,为了尽可能达到数据的稳定。我们在分析了数据之后,决定对每个date的brand进行补充,补充的结果达到每一天都含有所有的brand。

ps:数据结构(dataframe)

1.首先这是我的:

for index in train.index:
    if(train.loc[index][‘brand‘] != (i+1)):
        if(train.loc[index][‘date‘] !=j):
            for m in range(5-i):
                num = num + 1
                train.loc[num] = {‘date‘:train.loc[index][‘date‘],
                                  ‘day_of_week‘:train.loc[index][‘day_of_week‘],
                                  ‘brand‘:m+1,
                                  ‘cnt‘:med[m]}
            i = 0
        else:
            for m in range(train.loc[index][‘brand‘]-i-1):
                num = num + 1
                print(train.loc[num-1])
                data_new = pd.DataFrame({‘date‘:train.loc[index][‘date‘],
                                  ‘day_of_week‘:train.loc[index][‘day_of_week‘],
                                  ‘brand‘: m+1+i,
                                  ‘cnt‘:med[m+i]},
                                    columns=[‘date‘,‘day_of_week‘,‘brand‘,‘cnt‘])

            i = train.loc[index][‘brand‘]
    i = (i + 1) % 5
    j = train.loc[index][‘date‘]

 我的想法是遍历dataframe,然后对不符合的数进行记录,插入到dataframe后,然后进行排序。具体就不多说了

2.这是队友的

 

trs = train[[‘date‘,‘day_of_week‘]].drop_duplicates()
dt = trs[‘date‘].tolist()
dw = trs[‘day_of_week‘].tolist()
db = []
dts = []
dws = []
for i in range(len(dt)):
    for m in range(1,6):
        dts.append(dt[i])
        db.append(m)
        dws.append(dw[i])

try_data = pd.DataFrame({‘date‘:dts,‘day_of_week‘:dws,‘brand‘:db})
comb = pd.merge(try_data,train,how=‘left‘,on=[‘date‘,‘day_of_week‘,‘brand‘])

  队友的想法是生成两个dataframe,然后合并,缺失值自然为none。

还是要好好向他学习

good lock to us

 

以上是关于缺失值处理——寻找缺失值的主要内容,如果未能解决你的问题,请参考以下文章

2020-08-05--Pandas-03--缺失值处理

R语言之缺失值和异常值处理

缺失值处理

机器学习数据清洗之缺失值处理缺失的原因缺失值删除缺失值填充KNN填充

53-R语言中缺失值处理方法

数据预处理之缺失值的处理