DataFrame含字典/None的category列值转换问题求助
解决方案
可以通过完善apply中的判断逻辑来实现需求,以下两种方式都可行:
方式一:使用lambda表达式
df['category'] = df['category'].apply( lambda x: "NA" if x is None else (x['second'] if x.get('second') is not None else "NA") )
方式二:使用自定义函数(可读性更好)
def process_category(x): if x is None: return "NA" second_value = x.get('second') return second_value if second_value is not None else "NA" df['category'] = df['category'].apply(process_category)
原代码问题说明
你之前的lambda表达式只处理了x is not None的情况,没有定义else分支,当遇到None值时会因缺少返回值报错;同时也没有处理字典中'second'字段本身为None的场景,所以无法满足全部需求。
内容的提问来源于stack exchange,提问作者MinatoDBO
相关产品推荐
相关产品推荐

