[英]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.