下面是我的資料集中的虛擬資料
Airline Source Destination Route Dep_Time Duration Total_Stops Additional_Info Month Day Price
0 3 0 5 18 1.647042 1.647042 4 8 3 24 3897
1 1 3 0 84 -1.258929 -1.258929 1 8 1 5 7662
2 4 2 1 118 -0.606391 -0.606391 1 8 9 6 13882
3 3 3 0 91 0.924899 0.924899 0 8 12 5 6218
4 3 0 5 29 0.655184 0.655184 0 8 1 3 13302
現在我想使用 for 回圈用下面的字典替換某些列的值
airdic = {4: 36.02920528, 3: 19.21744828, 1: 16.39988767}
我正在使用下面的代碼來替換這些值,但它不起作用
注意:replace 函式在 for 回圈之外作業
for i in cat_var_3:
dummydf.replace({(i):airdic})
car_var_3 是包含列名的串列
我該如何解決?
uj5u.com熱心網友回復:
您將需要包括在內,inplace = True因為replace操作不會就地發生。請參考以下:
cat_var_3 = ['Ai','Dura']
airdic = {4: 36.02920528, 3: 19.21744828, 1: 16.39988767}
for i in cat_var_3:
df.replace({(i):airdic},inplace=True)
print(df)
Ai rline ... tion Total_Stops Additional_Info Month Day Price
0 19.217448 0 ... 24 3897
1 16.399888 3 ... 5 7662
2 36.029205 2 ... 6 13882
3 19.217448 3 ... 5 6218
4 19.217448 0 ... 3 13302
uj5u.com熱心網友回復:
如果 cat_var3 是列串列,那么您可以簡單地執行以下代碼,它將遍歷每一列并映射所需的字典
for i in cat_var_3:
df[i] = df[i].map(airdic)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373901.html
