如果熊猫数据框中包含特定的子字符串,则替换它的列值

时间:2019-06-13 18:28:13

标签: python pandas

我是python数据科学的新手,并开始解决问题。我陷入了一个无法替换某些列值的问题。

我在根据功率,座椅,型号,品牌,制造商等因素的数量预测旧车价格时遇到了问题。对于power列,字段具有类似于快照中所示的值

enter image description here

某些字段的值为null bhp。我正在尝试将这些空值替换为nan,以便在下一步中可以填充均值,但无法转换null to nan

下面是我正在使用的代码

data["Power"]= data["Power"].str.split("bhp",expand = True)
#This is to change bhp

然后我就这样

for i in data.Power:
    if i=="null":
        data.Power = np.nan

它什么也没做。

1 个答案:

答案 0 :(得分:1)

只需拆分“ null”并用loc替换,即可进行拆分和迭代。

data.loc[data['Power'].str.contains('null', na=False), 'Power'] = np.nan

您可以使用numpy.where做同样的事情,可能更快一些。

data['Power'] = np.where(data['Power'].str.contains('null'), np.nan, data['Power'])