python如何判断某药物是否在其他sheet中存在单价

题目如下:
数据集“药品销售记录.xlsx”为虚拟的多家不同药店药品销售数据,对每张表而言,自左至右为售药时间(Time),购药者编号(Buyer),药品编号(Medicine),所售药品数量(Nun)和药品单价(单价)。
其中部分Sheet因故不存在单价,为了后续处理,须对这部分数据进行“单价填充”。规则是,如果某药物在其他Sheet中存在单价(这是主流的情况),则取该药物销售记录中距离单价空缺的记录时间最近的价格作为填充值,时间距离近可以是销售之前也可以是之后。如:
销售时间 药品A单价
2022年12月30日16:34 10
2022年12月30日16:36 空缺
2022年12月30日16:37 12
上表中空缺处应填12,因为空缺交易的时间距离后者更近。
如果某药物在其他Sheet中不存在单价,则取所有带有明确定价药物(不含推断的部分)的带量平均值作为其定价。所谓带量平均是要考虑数量的权重,如下表中:
数量 药品单价
2 10
1 13
带量均价为11。

卡在了“如果某药物在其他sheet中存在单价”不会搞

求帮忙

完整代码实现和注释如下,望采纳

import pandas as pd

def fill_missing_prices(data):
    # 按药品对数据进行分组
    data_by_medicine = data.groupby("Medicine")

    # 遍历每种药品并填充缺失的价格
    for medicine, medicine_data in data_by_medicine:
        # 检查该药品是否有缺失的价格
        if medicine_data["Price"].isnull().any():
            # 计算该药品在所有工作表中的平均价格
            average_price = data[data["Medicine"] == medicine]["Price"].mean()

            # 使用平均价格填充缺失的价格
            medicine_data["Price"].fillna(average_price, inplace=True)

            # 按时间对数据进行排序
            medicine_data.sort_values("Time", inplace=True)

            # 遍历具有缺失价格的行
            for index, row in medicine_data[medicine_data["Price"].isnull()].iterrows():
                # 查找最近的非空价格行
                nearest_price_row = medicine_data[medicine_data["Price"].notnull()].iloc[(medicine_data[medicine_data["Price"].notnull()]["Time"] - row["Time"]).abs().argsort()[:1]]

                # 使用最近的价格填充缺失的价格
                data.loc[index, "Price"] = nearest_price_row["Price"].values[0]

# 加载数据
data = pd.read_excel("药品销售记录.xlsx")

# 填充缺失的价格
fill_missing_prices(data)

捕捉校友,+1蹲