通过 For 循环用字典值填充空行 Pandas

Filling Empty Rows with Dictionary Values via For Loop Pandas

我有一本看起来像这样的字典:

my_dict = {2078:'T20',2153:'T20',2223:'T21',2219:'T21'}

我的数据框:

 Date        Code   Fleet   KM
  2021-20-03  2078   T20     20
  2021-21-03  2078   NaN     22
  2021-21-03  2153   T20     23
  2021-21-03  2153   NaN     23
  2021-22-03  2223   NaN     28
  2021-22-03  2223   NaN     30
  2021-22-03  2219   T21     23
  2021-23-03  2219   NaN     23

我想使用字典的值来填充我 df 中 Fleet 列中的空行。

所以我写了代码:

for index, row in df.iterrows():
    if (pd.isnull(row['Fleet'])):
    row['Fleet']= my_dict.row['Fleet']

但是,当我检查 df.info() 时,我可以看到该代码即使在运行时也没有应用。 有人可以告诉我我做错了什么吗?

使用Series.map by dictionary and raplace missing values by Series.fillna:

df['Fleet'] = df['Fleet'].fillna(df['Code'].map(my_dict))

Series.combine_first:

df['Fleet'] = df['Fleet'].combine_first(df['Code'].map(my_dict))