我有這個 Pandas 資料,其中缺少一些值。例如,在第 542 行中缺少 LATITUDE 的值。我的目標是基于條件 CNTY_CITY_LOC 通過在 Pandas 中應用 if elif 和 apply 函式來填充 LATITUDE 的缺失值。在我使用 Pandas 的 apply 函式應用 if 陳述句后,缺失的值被替換,但 LATITUDE 列中的所有其他值都丟失了。我究竟做錯了什么?謝謝你的幫助
LATITUDE 列第 542 行中的缺失值
IF 陳述句應用函式
緯度列中的缺失值
uj5u.com熱心網友回復:
如果不匹配,首先是必要的回傳值,這里NaN
和 repalce 僅CA_LOCATION['LATITUDE']
使用中的缺失值Series.fillna
:
def CA_LATITUDE(county_CODE):
if county_CODE == 4710:
return 41.5188
else:
return np.nan
CA_LOCATION['LATITUDE'] = CA_LOCATION['LATITUDE'].fillna(CA_LOCATION.CNTY_CITY_LOC.apply(CA_LATITUDE))
更好的是Series.fillna
與字典映射一起使用:
d= {4710:41.5188, 4711:41.5288...}
CA_LOCATION['LATITUDE'] = CA_LOCATION['LATITUDE'].fillna(CA_LOCATION.CNTY_CITY_LOC.map(d))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476192.html
上一篇:無法理解程式是如何執行的
下一篇:非整數輸入導致無限回圈