首页 > 解决方案 > 将包含字典和字符串值的列表转换为数字数据框列

问题描述

我有一个列表(List_1),其中包含来自键值对的值和一些字符串。该列表如下所示:

List_1 = [dict_values([2]), dict_values([54]),dict_values([111]), 'Blah', 'Blah']

我想创建一个名为df['List_1']的新数据框列,该列由List_1中的值填充。然后我想将df['List_1']转换为数字数据类型,并强制 NA 变为 NaN。

我试过这个:

df['List_1'] = List_1
df['List_1']= pd.to_numeric(df['List_1'], errors='coerce')

我的预期结果是让 NA 变成 NaN,并且 dict_values 变成数字,但是我的方法导致整个列变成 NaN。

标签: pythonpandaslistdataframedictionary

解决方案


我使用了您的方法,效果很好,但是您可以使用:

import numpy as np
df.replace('NA', np.nan)

您的数据集中对 NA 的定义可能有问题吗?Pandas 不处理缺失值,例如 R 或用于数据分析的其他语言/包,因此这可能是问题所在。


推荐阅读