使用应用函数时的空单元格
Empty cells when using an apply function
因此,我试图根据哪一列具有可用于新列的数据来计算一列或另一列的值。这是我现在的代码。它似乎没有注意到何时没有数据存在并且总是转到“else”语句。我的数据框是一个导入的 excel 文件。感谢您的任何建议!
def create_sulfide_col(row):
if row["Sulphate-S(HCL Leachable)_%S"] is None:
val = row["Total-S_%S"] - row["Sulphate-S(HCL Leachable)_%S"]
else:
val = ["Total-S_%S"]- df["Sulphate-S_%S"]
return val
df["Sulphide-S(calc)-C_%S"] = df.apply(lambda row: create_sulfide_col(row), axis='columns')
这可以通过使用 numpy.where
来完成
将 numpy 导入为 np
df['newcol'] = np.where(df["Sulphate-S(HCL Leachable)_%S"].isna(),df["Total-S_%S"]- df["Sulphate-S(HCL Leachable)_%S"],df["Total-S_%S"]- df["Sulphate-S_%S"])
因此,我试图根据哪一列具有可用于新列的数据来计算一列或另一列的值。这是我现在的代码。它似乎没有注意到何时没有数据存在并且总是转到“else”语句。我的数据框是一个导入的 excel 文件。感谢您的任何建议!
def create_sulfide_col(row):
if row["Sulphate-S(HCL Leachable)_%S"] is None:
val = row["Total-S_%S"] - row["Sulphate-S(HCL Leachable)_%S"]
else:
val = ["Total-S_%S"]- df["Sulphate-S_%S"]
return val
df["Sulphide-S(calc)-C_%S"] = df.apply(lambda row: create_sulfide_col(row), axis='columns')
这可以通过使用 numpy.where
来完成将 numpy 导入为 np
df['newcol'] = np.where(df["Sulphate-S(HCL Leachable)_%S"].isna(),df["Total-S_%S"]- df["Sulphate-S(HCL Leachable)_%S"],df["Total-S_%S"]- df["Sulphate-S_%S"])