首页 > 解决方案 > 如何正确连接熊猫数据框?

问题描述

我有以下功能:

def assign_flag(
    delta_list, one_lower_bound, one_upper_bound, two_upper_bound, two_lower_bound
):
    flag_1 = [
        np.where(
            (np.array(delta_list) > np.array(one_lower_bound))
            & (np.array(delta_list) < np.array(one_upper_bound)),
            0,
            1,
        )
    ]
    flag_2 = [
        np.where(
            (np.array(delta_list) > np.array(two_lower_bound))
            & (np.array(delta_list) < np.array(two_upper_bound)),
            0,
            1,
        )
    ]

    return flag_1, flag_2

而这段代码:

parent_df_1 = pd.DataFrame(
    columns=test_delta_df.drop(columns=["cycle_end_date", "prime_tagging"]).columns
)
parent_df_2 = pd.DataFrame(
    columns=test_delta_df.drop(columns=["cycle_end_date", "prime_tagging"]).columns
)
for date in test_delta_df["cycle_end_date"].unique():
    print(date)
    delta_list = [
        test_delta_df[
            (test_delta_df.cycle_end_date == date)
            & (test_delta_df.prime_tagging == "New")
        ].drop(columns=["cycle_end_date", "prime_tagging"])
    ]
    flag_1, flag_2 = assign_flag(
        delta_list, one_lower_bound, one_upper_bound, two_upper_bound, two_lower_bound
    )
    flag_1_df = pd.DataFrame(
        [flag_1],
        columns=test_delta_df.drop(columns=["cycle_end_date", "prime_tagging"]).colmuns,
    )
    parent_df = pd.concat([flag_1_df, parent_df_1])
    flag_2_df = pd.DataFrame([flag_1, parent_df_2])

one_lower_bound = list(flag_tbl_2.iloc[3])
one_upper_bound = list(flag_tbl_2.iloc[2])
two_upper_bound = list(flag_tbl_2.iloc[4])
two_lower_bound = list(flag_tbl_2.iloc[5])

我的 flag_tbl 看起来像:这是我的标志 tbl,它还有 cycle_end_date 和 prime_tagging 作为最后两列 在此处输入图像描述

我的 test_delta_df :最后没有 cycle_end_date 在此处输入图像描述

我基本上想计算我的 test_delta_df 中的每个增量,我想创建一个我在上面的 assign_flag 函数中定义的标志。

当我执行时,我收到以下错误:

KeyError: 0

During handling of the above exception, another exception occurred:

KeyError:0

我哪里错了?

标签: pythonpandas

解决方案


推荐阅读