Python:根据特定列插值数据以填充缺失值

时间:2020-11-06 08:43:38

标签: python python-3.x pandas dataframe pandas-groupby

我有以下数据

enter image description here

要插入的列为LAST_6M_TTL_FMLA_Q和LAST_6M_SAME_TRN_W_FMLA_Q。 带有粗体的行是带有值的行。

Last_6M_TTL_FMLA_Q必须按以下方式填写: 对于相同的crew_employee,缺少的行(TASK = ACTUAL)应该具有先前的值(TASK = Dummy)。

LAST_6M_SAME_TRN_W_FMLA_Q必须按以下方式填写: 对于相同的crew_employee和train id,缺失的行(TASK = ACTUAL)应该具有先前的值(TASK = Dummy)。

我尝试了以下代码

emp_train_grp_id = df_merged.groupby(["CREW_EMPLOYEE_I", "TRAIN_I"])
for crew_emp_train_id in emp_train_grp_id.groups.keys():
    df_sorted_emp = df_merged[(df_merged["CREW_EMPLOYEE_I"] == crew_emp_train_id[0]) & 
    (df_merged["TRAIN_I"] == crew_emp_train_id[1])].sort_values(by=['ON_DUTY_TS'])
    df_interpolated = df_sorted_emp['LAST_6M_SAME_TRN_W_FMLA_Q']

    df_interpolated = df_interpolated.interpolate(method='ffill', limit_direction='forward', axis=1)
    df_sorted_emp['LAST_6M_SAME_TRN_W_FMLA_Q'] = df_interpolated['LAST_6M_SAME_TRN_W_FMLA_Q']

    df_merged_interpolated = pd.concat([df_merged_interpolated, df_sorted_emp])

但是它抛出了错误

您能告诉我如何解决吗?有没有简单的方法可以做到这一点?

非常感谢您的帮助。 ValueError:对象类型

没有名为1的轴

0 个答案:

没有答案