import pandas as pd # 读取Excel表格数据 order_data = pd.read_excel("order_data.xlsx", sheet_name="Order Quantity", header=None) supply_data = pd.read_excel("supply_data.xlsx", sheet_name="Supply Quantity", header=None) # 定义判断供货量是否满足要求的函数 def is_supply_satisfied(order, supply): if supply >= 0.8 * order and supply <= 1.2 * order: return 1 else: return 0 # 统计每家公司供货量满足要求的个数 company_counts = [] for i in range(order_data.shape[0]): order_row = order_data.iloc[i, :] supply_row = supply_data.iloc[i, :] count = sum([is_supply_satisfied(order, supply) for order, supply in zip(order_row, supply_row)]) company_counts.append(count) # 创建结果数据表格 result_data = pd.DataFrame({'Company': range(1, order_data.shape[0]+1), 'Count': company_counts}) # 将结果保存为Excel表格 result_data.to_excel("satisfied_counts.xlsx", index=False)
时间: 2024-04-21 14:24:08 浏览: 82
这段代码是之前提到的用于统计每家公司供货量满足要求的个数,并将结果保存为Excel表格的代码。它使用了pandas库来读取和处理Excel数据。
具体步骤如下:
1. 导入pandas库。
2. 使用`pd.read_excel`函数读取"order_data.xlsx"和"supply_data.xlsx"两个Excel文件的数据,并分别存储在`order_data`和`supply_data`变量中。
3. 定义了一个名为`is_supply_satisfied`的函数,用于判断供货量是否满足要求。根据给定的订单量`order`和供货量`supply`,如果供货量在0.8倍到1.2倍之间,则返回1,否则返回0。
4. 创建一个空列表`company_counts`,用于存储每家公司满足要求的供货量个数。
5. 使用循环遍历每一家公司的订货量和供货量,并调用`is_supply_satisfied`函数判断是否满足要求。将满足要求的个数累加到`count`变量中。
6. 将每家公司的满足要求的供货量个数添加到`company_counts`列表中。
7. 使用pandas库创建一个新的数据表格`result_data`,包含了公司编号和满足要求的供货量个数。
8. 使用`to_excel`函数将结果数据表格保存为名为"satisfied_counts.xlsx"的Excel文件,不包含索引列。
请确保将Excel文件命名为"order_data.xlsx"和"supply_data.xlsx",并且包含两个sheet分别为"Order Quantity"和"Supply Quantity"。代码将逐行比较每个公司的订货量和供货量,统计满足要求的个数,并将结果保存为新的Excel表格"satisfied_counts.xlsx",包含公司编号和满足要求的个数。
阅读全文