Python 在特定条件下,使用中的lambda映射将单元格值设置为NaN

Python 在特定条件下,使用中的lambda映射将单元格值设置为NaN,python,pandas,dictionary,lambda,nan,Python,Pandas,Dictionary,Lambda,Nan,如果单元格的当前值不满足某些条件,我尝试将特定列中某些单元格的值更改为NaN 特别是,我有一列价格。df[‘价格’]。此列中的值如下所示:[23,34,36/375,NA,62]。我想检查该列某一行中的值是否为数字,如果不是,则将该值更改为NaN。因此,得到的列向量是[23,34,NaN,NaN,62] 我尝试了一种迭代的方法,但是它太慢了/可能根本不起作用。在熊猫身上使用lambda和map速度非常快,但我无法理解 我会在这里使用: 安迪的解决方案很有效。但是,convert\u object

如果单元格的当前值不满足某些条件,我尝试将特定列中某些单元格的值更改为NaN

特别是,我有一列价格。df[‘价格’]。此列中的值如下所示:[23,34,36/375,NA,62]。我想检查该列某一行中的值是否为数字,如果不是,则将该值更改为NaN。因此,得到的列向量是[23,34,NaN,NaN,62]

我尝试了一种迭代的方法,但是它太慢了/可能根本不起作用。在熊猫身上使用lambda和map速度非常快,但我无法理解

我会在这里使用:


安迪的解决方案很有效。但是,
convert\u objects
方法现在已被弃用,并已在版本
0.18
中删除

改为将
pandas.to_numeric()
与参数
errors='concurve'
一起使用:

columns = [list of clumns to change]

for col in columns:
    df[col] = pd.to_numeric(df[col], errors='coerce')
columns = [list of clumns to change]

for col in columns:
    df[col] = pd.to_numeric(df[col], errors='coerce')