繁体   English   中英

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

[英]Replacing column values in a pandas dataframe based if it contains a specific substring

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

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

在此处输入图片说明

一些字段的值为null bhp 我正在尝试将这些空值替换为nan以便在下一步中可以填充这些值中的均值,但无法将null to 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

它什么也没做。

无需拆分和迭代,只需搜索“ 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'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM