如何为Pandas DataFrame添加MergeName列:按ShortName规则填充
为Pandas DataFrame添加MergeName列的解决方案
需求:为Pandas DataFrame添加名为MergeName的列,该列默认取ShortName列文本值;若ShortName为None,则取Plaintiffs列的值。
现有DataFrame数据如下:
Plaintiffs Gender ShortName 0 None None None 1 None None None 2 Donald Duck M None 3 Minnie Mouse F Minnie 4 None None None 5 John Doe M Doe 6 None None None 7 None None None 8 None None None 9 None None None 10 None None None
尝试过以下代码均未成功,常出现MergeName列仅填充else分支数据(含None值)的问题:
- 代码1:
PlaintiffsTbl['MergeName'] = np.where(PlaintiffsTbl['ShortName'] is None, PlaintiffsTbl['Plaintiffs'], PlaintiffsTbl['ShortName'])
- 代码2:
PlaintiffsTbl['MergeName'] = PlaintiffsTbl['ShortName'] PlaintiffsTbl.loc[PlaintiffsTbl['MergeName'] == None, 'MergeName'] = PlaintiffsTbl['Plaintiffs']
- 代码3:
PlaintiffsTbl['MergeName'] = [PlaintiffsTbl['Plaintiffs'] if PlaintiffsTbl['ShortName'] is None else PlaintiffsTbl['ShortName']]
感谢Amir Hossein Shahdaei提供的可行代码:
PlaintiffsTbl['MergeName'] = PlaintiffsTbl['ShortName'] PlaintiffsTbl['MergeName'] = PlaintiffsTbl['MergeName'].fillna(PlaintiffsTbl['Plaintiffs'])
内容的提问来源于stack exchange,提问作者Rycliff
相关产品推荐
相关产品推荐

