用另一列字符串中的第一个单词替换列中的空值

Replace empty value from colum by first word from another column's string

我是 Python 的初学者。我有一个名为 df_opensports 的 df,其中包含很多列。其中一列名为 'Sub_Categoria'。另一列名为 'Name'。我需要用同一 'Name' 列索引中的第一个词填充 'Sub_Categoria' 中的空值。例如,如果在 df_opensports 的 idx 10 中,'Sub_Categoria' 的值为空,则用同一索引中 'Name' 字符串的第一个单词填充它。我看过很多帖子,也尝试过不同的方式,比如:

df_opensports.loc[df_opensports.Sub_Categoria == '', 'Sub_Categoria']=df_opensports.Name.str.split().str.get(0)

但是 'Sub_Categoria' 中每个空值的结果仍然是空的....我做错了什么?

de df 示例:

例如,在第一行中,我需要得到 'mocasines'

而不是 NaN

提前致谢

不是最好的主意,但我相信它会解决您的问题:

for index, row in df_opensports.iterrows():
  if row["Sub_Categoria"] == None:
    df_opensports.loc[index, "Sub_Categoria"] = row["Name"].split(" ")[0]

感谢您的评论,我想起了这个问题的另一种方法:

df_opensports.Sub_Categoria.fillna(df_opensports.Name.apply(lambda x: x.split(" ")[0]), inplace=True)