如何快速将pandas DataFrame字典列内的字符串值转换为float类型
pandas字典列值类型转换及拆分实现方案
基于你给出的示例DataFrame,两种需求的高效实现方法如下:
需求1:保留data列字典结构,内部值转换为float类型
使用apply配合字典推导式逐行处理字典,逻辑简单易读,常规数据量下性能足够:
df['data'] = df['data'].apply(lambda x: {k: float(v) for k, v in x.items()})
需求2:拆分data列字典为独立列,对应值转换为float类型
使用pandas向量化操作实现,性能远高于逐行处理,兼容部分行缺省字典key的场景(缺省值自动填充NaN):
# 拆分data列并转换类型后,与原非data字段拼接 df = pd.concat( [df.drop(columns=['data']), pd.DataFrame(df['data'].tolist()).astype(float)], axis=1 )
内容的提问来源于stack exchange,提问作者Ulises Bussi
相关产品推荐
相关产品推荐

