DataFrame列值填充条件

时间:2019-07-26 13:35:46

标签: python pandas

我有两个如下数据框

df1

Code Actual
C    cold
W    warm
h    hot

df2

Mindset Revised Mindset Campaign Name   Placement Name  Creative Name   Ad Group Name
    Warm    cold    CN~Galaxy A_PH~laun_MK~it_YQ~18q2   PD~captifycaptifya80soccer_CH~vid_MD~c_AD~as_DT~cross_FM~vpre_PB~captify_SZ~640x360_RT~cpm_TG~3p_SA~tgm_VV~mo_IT~ros_TS~_FF~_vvk3d9be071c9dcbfd1c297    FF~prerolla80precision_CT~vpre_CS~640x360_CV~ge_CE~loc_MG~oth_LG~it_TA~lrn_CW~lvc   a
    Warm    cold    CN~Galaxy A_PH~laun_MK~it_YQ~18q2_BS~im_PR~smart_   PD~captifycaptifya80soccer_CH~vid_MD~c_AD~as_DT~cross_FM~vpre_PB~captify_SZ~640x360_RT~cpm_TG~3p_SA~tgm_VV~mo_IT~ros_TS~_FF~_vvk3d9be071c9dcbfd1c297    FF~prerolla80precision_CT~vpre_CS~640x360_CV~ge_CE~loc_MG~oth_LG~it_TA~lrn_CW~lvc   
    Warm    cold    CN~Galaxy A_PH~laun_MK~it_YQ~18q2_BS~im_PR~smart_SB~ga_ PD~Ogurycamera_CH~vid_MD~c_AD~ss1x1_DT~cross_FM~vpre_PB~Ogury_SZ~640x360_RT~cpm_TG~3p_SA~tgm_VV~mo_IT~ros_TS~_FF~_vvk4f4882fc5f4acc95cc2a   (not set)   
    Warm    cold    CN~Galaxy A_PH~laun_MK~it_YQ~18q2_BS~im_PR~smart_SB~ga_OB   PD~Ogurycamera_CH~vid_MD~c_AD~ss1x1_DT~cross_FM~vpre_PB~Ogury_SZ~640x360_RT~cpm_TG~3p_SA~tgm_VV~mo_IT~ros_TS~_FF~_vvk4f4882fc5f4acc95cc2a   (not set)   
    Warm    cold    CN~Galaxy A_PH~laun_MK~it_YQ~18q2_BS~im_PR~ PD~Ogurycamera_CH~vid_MD~c_AD~ss1x1_DT~cross_FM~vpre_PB~Ogury_SZ~640x360_RT~cpm_TG~3p_SA~tgm_VV~mo_IT~ros_TS~_FF~_vvk4f4882fc5f4acc95cc2a   (not set)   
            IM-PEM_telefony_Galaxy A20e_modele+brand_[search]           AG~A50_MK~ro_AT~res_MD~h_MT~bmm

我陷入了这样的困境:我可以遍历df1 ['Code']和df1 ['Actual']的值,并根据df2 ['Campaign Name'列填充df2 ['Revised Mindset']的NaN值,['广告组名称'],['广告名称'],['展示位置名称']

所以就像我在这里创建一个遮罩并分别遍历df1列,然后尝试填充值一样。

for f, g in zip(df1['Code'], df1['Actual']):
       mask_adgroup_md = self.validation_file["Ad Group Name"].str.contains('MD~{}'.format(f))
       choice = g
       df['Revised Mindset'].isnull() = np.select([mask_adgroup_md],[choice],default=None)

它只是引发和例外

ValueError: invalid entry 0 in condlist: should be boolean ndarray

有人可以帮忙吗?

0 个答案:

没有答案
相关问题