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