根据字典中给定的条件将数据插入到新列

2024-02-11

我有字典指定满足条件时该行应采用的值

dict_map = {
    "Yes" : {'Sex':'F', 'Pregnant': 'Y'},
    "No" : {'Sex':'F', 'Pregnant': 'N'},
    "N/A" : {'Sex': 'M'},
    }

数据框和列表

df = pd.DataFrame(
{
    'ID': ['AB01', 'AB02', 'AB03', 'AB04', 'AB05','AB06'],
    'Sex': ["F","M","M",np.nan,"F","F"],
    'Pregnant': ['Y', 'N',np.nan, 'Y', '', 'N']
    
 }
 )

 cols_of_interest = ["Sex","Pregnant"]

最终的数据框应如下所示,其中“状态”是新列。如果不使用合并功能,如何才能做到这一点?


然后您可以创建数据框merge

out = df.merge(pd.DataFrame(dict_map).T.reset_index(),how='left')
Out[139]: 
     ID  Sex Pregnant index
0  AB01    F        Y   Yes
1  AB02    M        N   NaN
2  AB03    M      NaN   N/A
3  AB04  NaN        Y   NaN
4  AB05    F            NaN
5  AB06    F        N    No
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据字典中给定的条件将数据插入到新列 的相关文章