2021 年“泰迪杯”数据分析技能赛B 题肥料登记数据分析

2021 年“泰迪杯”数据分析技能赛B 题肥料登记数据分析

完整代码请私聊 博主

一、背景

肥料是农业生产中一种重要的生产资料,其生产销售必须遵循《肥料登记管理办法》,依法在农业行政管理部门进行登记。各省、自治区、直辖市人民政府农业行政主管部门主要负责本行政区域内销售的肥料登记工作,相关数据可从政府网站上自由下载。

二、目标

  1. 对肥料登记数据进行预处理。
  2. 根据养分的百分比对肥料产品进行细分。
  3. 从省份、日期、生产商、肥料构成等维度对肥料登记数据进行对比分析。
  4. 对非结构化数据进行结构化处理。

三、任务

请根据附件 1~附件 4 中提供的数据,自行选择分析工具完成以下任务,并撰写报告。

任务 1 数据的预处理

任务 1.1

附件 1 的产品通用名称存在不规范的情况。请按照复混肥料(掺混肥料归入这一类)、有机-无机复混肥料、有机肥料和床土调酸剂这 4 种类别对附件 1 进行规范化处理。请在报告中给出处理思路、过程及必要的结果,同时将完整的结果保存到文件“result1_1.xlsx”。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df1_1 = pd.read_excel('./数据/附件1.xlsx')
df1_1
df1_1.info()
df1_1['产品通用名称'].unique()
set(df1_1["产品通用名称"])
def grade(x):
    if ('复混' in x[:2]) or ('掺混' in x):
        return '复混肥料'
    elif '无机' in x:
        return '有机-无机复混肥料'
    elif '有机肥料' in x:
        return '有机肥料'
    elif '调酸剂' in x:
        return '床土调酸剂'
df1_1['产品通用名称'] = df1_1['产品通用名称'].apply(grade)
df1_1.reset_index(inplace=True,drop=True)
df1_1.to_excel('result1_1.xlsx',index=None)
	序号	企业名称	产品通用名称	产品形态	总氮百分比	P2O5百分比	K2O百分比	含氯情况	有机质百分比	正式登记证号	发证日期	有效期
0	1	安徽中元化肥股份有限公司	复混肥料	颗粒	0.1300	0.1700	0.2000	低氯	0.00	皖农肥(2016)准字4255号	2016-01-08	2021-01
1	2	安徽中元化肥股份有限公司	复混肥料	颗粒	0.1300	0.1700	0.2000	中氯	0.00	皖农肥(2016)准字4256号	2016-01-08	2021-01
2	3	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2000	0.1500	0.1600	低氯	0.00	皖农肥(2016)准字4257号	2016-01-08	2021-01
3	4	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2600	0.1300	0.1200	低氯	0.00	皖农肥(2016)准字4258号	2016-01-08	2021-01
4	5	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2600	0.1300	0.1200	中氯	0.00	皖农肥(2016)准字4259号	2016-01-08	2021-01
...	...	...	...	...	...	...	...	...	...	...	...	...
2920	2921	安徽泰又丰有机肥科技有限公司	有机肥料	粉状	0.0167	0.0167	0.0167	无氯	0.45	皖农肥(2021)准字7174号	2021-3-8	52921	2922	滁州市塔山生物有机肥料有限公司	有机肥料	粉状	0.0167	0.0167	0.0167	无氯	0.45	皖农肥(2021)准字7175号	2021-3-8	52922	2923	利辛县鑫圣农业科技有限责任公司	有机肥料	粉状	0.0167	0.0167	0.0167	无氯	0.45	皖农肥(2021)准字7176号	2021-3-8	52923	2924	利辛县鑫圣农业科技有限责任公司	有机肥料	颗粒	0.0167	0.0167	0.0167	无氯	0.45	皖农肥(2021)准字7177号	2021-3-8	52924	2925	六安亿牛生物科技有限公司	有机肥料	粉状	0.0167	0.0167	0.0167	无氯	0.45	皖农肥(2021)准字7178号	2021-3-17	52925 rows × 12 columns

任务 1.2

计算附件 1 中各肥料产品的氮、磷、钾养分百分比之和,称为总无机养分百分比。请在报告中给出处理思路、过程及必要的结果,同时将完整的结果保存到文件“result1_2.xlsx”中,结果保留 3 位小数(例如 1.0%,即 0.010)。

df1_2 = pd.read_excel('./数据/附件1.xlsx')
df1_2.head()
res = df1_2[['总氮百分比','P2O5百分比','K2O百分比']].sum(axis=1)
res = round(res*100,1).astype(str)+'%'
df1_2['总无机养分百分比'] = res
df1_2[['序号','正式登记证号','总无机养分百分比']].to_excel('result1_2.xlsx',index=None)

	序号	企业名称	产品通用名称	产品形态	总氮百分比	P2O5百分比	K2O百分比	含氯情况	有机质百分比	正式登记证号	发证日期	有效期	总无机养分百分比
0	1	安徽中元化肥股份有限公司	复混肥料	颗粒	0.1300	0.1700	0.2000	低氯	0.00	皖农肥(2016)准字4255号	2016-01-08	2021-01	50.0%
1	2	安徽中元化肥股份有限公司	复混肥料	颗粒	0.1300	0.1700	0.2000	中氯	0.00	皖农肥(2016)准字4256号	2016-01-08	2021-01	50.0%
2	3	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2000	0.1500	0.1600	低氯	0.00	皖农肥(2016)准字4257号	2016-01-08	2021-01	51.0%
3	4	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2600	0.1300	0.1200	低氯	0.00	皖农肥(2016)准字4258号	2016-01-08	2021-01	51.0%
4	5	安徽中元化肥股份有限公司	复混肥料	颗粒	0.2600	0.1300	0.1200	中氯	0.00	皖农肥(2016)准字4259号	2016-01-08	2021-01	51.0%
...	...	...	...	...	...	...	...	...	...	...	...	...	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值