[英]I want to update a pandas dataframe iteratively
我有一個數據框,需要檢查其他2列中的某些條件並迭代更新另一列。 基本上,我想用新類別替換Smoke_status列中的NaN。
這是我的代碼:
import numpy as np
for i in range(df.shape[0]):
if df['age'][i] < 15 and df['smoking_status'][i] == np.nan:
df['smoking_status'][i] = 'never smoked'
elif df['age'][i] >= 15 and df['smoking_status'][i] == np.nan:
df['smoking_status'][i] = 'occassional smoker'
該代碼運行,但是當我檢查更新的表時,我仍然沒有發現任何變化。 任何幫助,將不勝感激。
嘗試使用熊貓的矢量化函數,而不是遍歷每個問題。 它們都更快,並且代碼更整潔:
cond = df['smoking_status'].isna()
df.loc[cond, 'smoking_status'] = np.where(df.loc[cond, 'Age'] < 15, 'never smoked', 'occassional smoker')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.