如果数据帧中包含特定子字符串,则替换该数据帧中的列值

2024-10-02 02:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚接触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

它什么也没做


Tags: to数据data价格科学nannull动力
1条回答
网友
1楼 · 发布于 2024-10-02 02:25:48

不需要拆分和迭代,只需搜索“null”并在一步中替换为^{}

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

你可以用^{}做同样的事情,可能更快

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

相关问题 更多 >

    热门问题