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']
ch0908
最新推荐文章于 2024-10-18 00:00:00 发布