ch0908

import pandas as pd
import os
import matplotlib.pyplot as plt

import pulp

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来显示负号

pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.max_rows', None)  # 显示所有行
# pd.set_option('max_colwidth', 400)

# 读取上传的Excel文件 附件1和附件2
path = r'C:\Users\c00617071\Desktop\A题\CUMCM2024Problems(1)\C题'
file_1_path = os.path.join(path, '附件1.xlsx')
file_2_path = os.path.join(path, '附件2.xlsx')

countryside_existing_areas = pd.read_excel(file_1_path, sheet_name='乡村的现有耕地')
land_name_type = countryside_existing_areas.set_index('地块名称')['地块类型'].to_dict()
land_name_square = countryside_existing_areas.set_index('地块名称')['地块面积/亩'].to_dict()

countryside_planting_crops = pd.read_excel(file_1_path, sheet_name='乡村种植的农作物')
crop_name_type = countryside_planting_crops.set_index('作物名称')['作物类型'].to_dict()
countryside_planting_crops['种植耕地'] = countryside_planting_crops['种植耕地'].ffill()
temp = countryside_planting_crops.set_index('作物名称')['种植耕地'].to_dict()
crop_name_land = {key: val.split() for key, val in temp.items()}  # {'黄豆': ['平旱地', '梯田'], '黑豆': ['平旱地', '梯田']}

planting_situation_2023 = pd.read_excel(file_2_path, sheet_name='2023年的农作物种植情况')
# 处理planting_situation_2023表格中的异常数据,第一列中存在合并行,读取后存在NaN,pandas自带的ffill函数意思是空值是前面的值向后填充
planting_situation_2023['种植地块'] = planting_situation_2023['种植地块'].ffill()

# 定义一个函数,用于解析价格区间并返回最低价、最高价和平均价
def parse_price_range(price_range):
    # 使用 '-' 分割最低价和最高价
    low, high = map(float, price_range.split('-'))
    # 计算平均价
    avg = (low + high) / 2
    return low, high, avg

relevant_data_statistics_2023 = pd.read_excel(file_2_path, sheet_name='2023年统计的相关数据')
relevant_data_statistics_2023.dropna(inplace=True)
# 分别计算每种作物的销售单价最低值,最高值,平均值
relevant_data_statistics_2023[['low_price', 'high_price', 'avg_price']] = relevant_data_statistics_2023['销售单价/(元/斤)'
].apply(lambda x: pd.Series(parse_price_range(x)))
# 增加一列销售价,等于亩产量乘以平均价格(也可以选择最低价或者最高价,这里选择平均价),单位:元/亩
relevant_data_statistics_2023['sales_price'] = relevant_data_statistics_2023['亩产量/斤'] * relevant_data_statistics_2023['avg_price']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值