如果单元格不为空,if - else 函数计算值
If - else function to calculate value if cell isn't empty
我需要根据导入的 Excel 文件中的数据进行计算。如果 Col1 中有一个值,则公式应从 Col1 中获取值并将其与 Col4 相乘。如果 Col1 中的值为空,则应从 Col2 中获取值并将其与 Col4 相乘。完成计算的结果应添加到新列中。
目前它适用于我计算的第二部分,但代码无法识别 Col1 中是否有值。就像,它只需要第一行作为参考的所有其他数据,因为 Col1 中没有任何内容。
这是我当前的代码:
if merged_data['Col1'].isna().any():
merged_data['Col4'] = (merged_data['Col2'] / merged_data['Col3'])
else:
merged_data['Col4'] = (merged_data['Col1'] / merged_data['Col3'])
感谢您的帮助。
使用numpy.where
:
import numpy as np
merged_data["new col"] = np.where(
merged_data["Col1"].isna(),
merged_data["Col2"] * merged_data["Col4"],
merged_data["Col1"] * merged_data["Col4"],
)
我需要根据导入的 Excel 文件中的数据进行计算。如果 Col1 中有一个值,则公式应从 Col1 中获取值并将其与 Col4 相乘。如果 Col1 中的值为空,则应从 Col2 中获取值并将其与 Col4 相乘。完成计算的结果应添加到新列中。
目前它适用于我计算的第二部分,但代码无法识别 Col1 中是否有值。就像,它只需要第一行作为参考的所有其他数据,因为 Col1 中没有任何内容。
这是我当前的代码:
if merged_data['Col1'].isna().any():
merged_data['Col4'] = (merged_data['Col2'] / merged_data['Col3'])
else:
merged_data['Col4'] = (merged_data['Col1'] / merged_data['Col3'])
感谢您的帮助。
使用numpy.where
:
import numpy as np
merged_data["new col"] = np.where(
merged_data["Col1"].isna(),
merged_data["Col2"] * merged_data["Col4"],
merged_data["Col1"] * merged_data["Col4"],
)