如何根据其他列的值在数据框中创建新列?

时间:2019-12-19 17:25:49

标签: python python-3.x pandas conditional-statements multiple-columns

我有一个开始日期框架,如下所示。

df_Start = pd.DataFrame({'P':['IG','HY','IG',np.nan,np.nan], 'M':['HY','HY','IG', np.nan,np.nan], 'F' ['HY',np.nan,'HY', np.nan,np.nan],'D':['IG','IG','IG', 'HY',np.nan]})`

我想根据列P,M,F,D中的行值创建一个名为“结果”的新列。 我希望“结果”列符合的条件是      1)如果P,M,F,D列中的任何行包含'IG',则Result列将填充      'IG'      2)如果P,M,F,D列中的任何行包含“ HY”而没有“ IG”,则“结果”列将      用“ HY”填充     3)如果列P,M,F,D中的行不包含“ HY”或“ IG”,而只是“ NaN”,则结果列     将填充“无”

如果正确应用这些条件,则最终的df会像下面的df一样。

df_end = pd.DataFrame({'Result':['IG','IG','IG', 'HY',None],'P':['IG','HY','IG',np.nan,np.nan], 'M':['HY','HY','IG', np.nan,np.nan], 'F':['HY',np.nan,'HY', np.nan,np.nan],'D':['IG','IG','IG', 'HY',np.nan]})

1 个答案:

答案 0 :(得分:3)

也许这对您有用吗?

text

输出:

number