年鉴表格-数据可视化分析
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了年鉴表格-数据可视化分析相关的知识,希望对你有一定的参考价值。
年鉴表格-数据可视化分析
导入科学计算库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
import warnings
warnings.filterwarnings('ignore')
# pd.options.display.max_columns = None #列数
# pd.options.display.max_rows = 18 #行数
pd.set_option('expand_frame_repr', False) # 数据超过总宽度后,是否折叠显示
#支持中文
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
os.path
<module 'ntpath' from 'D:\\\\Anaconda3\\\\lib\\\\ntpath.py'>
factors = []
for i in os.listdir('./data/年鉴表格/'):
factors.append(os.path.splitext(i)[0])
factors
['农业机械总动力',
'农作物总播种面积',
'农用化肥施用量折合',
'农用柴油使用',
'农药使用',
'夏粮单位面积产量',
'夏粮总面积',
'大中型拖拉机动力',
'大中型拖拉机数量',
'小型拖拉机动力',
'小型拖拉机数量',
'有效灌溉面积',
'秋粮单位面积产量',
'秋粮总面积',
'粮食作物总播种面积',
'粮食单位面积产量',
'联合收割机动力',
'联合收割机数量']
获取数据
18个excel表格???我要疯了,推荐使用上面的os模块,下面的强烈不推荐!
# 指标:农用大中型拖拉机动力(万千瓦)
tractor_power = pd.read_excel('data/年鉴表格/大中型拖拉机动力.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:农用大中型拖拉机数量(台)
tractor_count = pd.read_excel('data/年鉴表格/大中型拖拉机数量.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:小型拖拉机动力(万千瓦)
small_tractor_power = pd.read_excel('data/年鉴表格/小型拖拉机动力.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:小型拖拉机数量(台)
small_tractor_count = pd.read_excel('data/年鉴表格/小型拖拉机数量.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:联合收割机数量(台)
combine_harvester_count = pd.read_excel('data/年鉴表格/联合收割机数量.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:联合收割机动力(万千瓦)
combine_harvester_power = pd.read_excel('data/年鉴表格/联合收割机动力.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:粮食单位面积产量(公斤/公顷)
grain_output_per_area = pd.read_excel('data/年鉴表格/粮食单位面积产量.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:粮食作物播种面积(千公顷)
grain_acreage = pd.read_excel('data/年鉴表格/粮食作物总播种面积.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:农药使用量(万吨)
pesticide_usage = pd.read_excel('data/年鉴表格/农药使用.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:农业机械总动力(万千瓦)
total_power_of_machinery = pd.read_excel('data/年鉴表格/农业机械总动力.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:农用柴油使用量(万吨)
diesel_consumption = pd.read_excel('data/年鉴表格/农用柴油使用.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:农用化肥施用折纯量(万吨) Yield reduction of agricultural fertilizer application
fertilizer_application = pd.read_excel('data/年鉴表格/农用化肥施用量折合.xls', skiprows=3, skipfooter=1, index_col='地区')
# 指标:农作物总播种面积(千公顷) Total sown area of crops
total_sown_area_of_crops = pd.read_excel('data/年鉴表格/农作物总播种面积.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:秋粮单位面积产量(公斤/公顷)Yield of autumn grain per unit area
autumn_grain_per_area = pd.read_excel('data/年鉴表格/秋粮单位面积产量.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:秋收粮食播种面积(千公顷)
autumn_grain_total_area = pd.read_excel('data/年鉴表格/秋粮总面积.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:夏收粮食单位面积产量(公斤/公顷) Summer harvest grain output per unit area
summer_grain_per_area = pd.read_excel('data/年鉴表格/夏粮单位面积产量.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:夏收粮食播种面积(千公顷)
summer_grain_total_area = pd.read_excel('data/年鉴表格/夏粮总面积.xls', skiprows=3, skipfooter=2, index_col='地区')
# 指标:有效灌溉面积(千公顷)
effective_irrigation_area = pd.read_excel('data/年鉴表格/有效灌溉面积.xls', skiprows=3, skipfooter=1, index_col='地区')
数据合并
tractor_power.shape
(31, 43)
# 多级行列索引,并为每项索引分别命名
tractor_count.index
Index(['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省', '上海市',
'江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省',
'广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省',
'青海省', '宁夏回族自治区', '新疆维吾尔自治区'],
dtype='object', name='地区')
tractor_count.columns
Index(['2020年', '2019年', '2018年', '2017年', '2016年', '2015年', '2014年', '2013年',
'2012年', '2011年', '2010年', '2009年', '2008年', '2007年', '2006年', '2005年',
'2004年', '2003年', '2002年', '2001年', '2000年', '1999年', '1998年', '1997年',
'1996年', '1995年', '1994年', '1993年', '1992年', '1991年', '1990年', '1989年',
'1988年', '1987年', '1986年', '1985年', '1984年', '1983年', '1982年', '1981年',
'1980年', '1979年', '1978年'],
dtype='object')
tractor_count.values
array([[ nan, 4314., 4700., ..., 7705., 6496., 5568.],
[ nan, 13163., 13799., ..., 12819., 11574., 9622.],
[ nan, 280018., 272957., ..., 42133., 37237., 28119.],
...,
[ nan, 13086., 12200., ..., 6364., 5545., 4999.],
[ nan, 42142., 38700., ..., 5811., 5465., 4874.],
[ nan, 369983., 336245., ..., 29208., 23549., 20135.]])
list(zip(range(3), range(3),range(3)))
[(0, 0, 0), (1, 1, 1), (2, 2, 2)]
tractor_count.values.shape
(31, 43)
tractor_power.values.shape
(31, 43)
# value = []
# for i, j, k in zip(tractor_count.values, tractor_power.values, ):
# value.append(i)
# value.append(j)
help(zip)
Help on class zip in module builtins:
class zip(object)
| zip(*iterables) --> A zip object yielding tuples until an input is exhausted.
|
| >>> list(zip('abcdefg', range(3), range(4)))
| [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
|
| The zip object yields n-length tuples, where n is the number of iterables
| passed as positional arguments to zip(). The i-th element in every tuple
| comes from the i-th iterable argument to zip(). This continues until the
| shortest argument is exhausted.
|
| Methods defined here:
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __iter__(self, /)
| Implement iter(self).
|
| __next__(self, /)
| Implement next(self).
|
| __reduce__(...)
| Return state information for pickling.
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
tractor_count.index
Index(['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省', '上海市',
'江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省',
'广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省',
'青海省', '宁夏回族自治区', '新疆维吾尔自治区'],
dtype='object', name='地区')
factors
['农业机械总动力',
'农作物总播种面积',
'农用化肥施用量折合',
'农用柴油使用',
'农药使用',
'夏粮单位面积产量',
'夏粮总面积',
'大中型拖拉机动力',
'大中型拖拉机数量',
'小型拖拉机动力',
'小型拖拉机数量',
'有效灌溉面积',
'秋粮单位面积产量',
'秋粮总面积',
'粮食作物总播种面积',
'粮食单位面积产量',
'联合收割机动力',
'联合收割机数量']
tractor_count.values.shape
(31, 43)
value = []
for i in range(31):
value.append(total_power_of_machinery.values[i])
value.append(total_sown_area_of_crops.values[i])
value.append(fertilizer_application.values[i])
value.append(diesel_consumption.values[i])
value.append(pesticide_usage.values[i])
value.append(summer_grain_per_area.values[i])
value.append(summer_grain_total_area.values[i])
value.append(tractor_power.values[i])
value.append(tractor_count.values[i])
value.append(small_tractor_power.values[i])
value.append(small_tractor_count.values[i])
value.append(effective_irrigation_area.values[i])
value.append(autumn_grain_per_area.values[i])
value.append(autumn_grain_total_area.values[i])
value.append(grain_acreage.values[i])
value.append(grain_output_per_area.values[i])
value.append(combine_harvester_power.values[i])
value.append(combine_harvester_count.values[i])
len(value)
558
31*18
558
数据合并完成
index = pd.MultiIndex.from_product([tractor_count.index, factors], names=['Province', 'Factors '])
columns = pd.MultiIndex.from_product([tractor_count.columns], names=['Years'])
data = pd.DataFrame(value, index=index, columns=columns)
tractor_count.head()
2020年 | 2019年 | 2018年 | 2017年 | 2016年 | 2015年 | 2014年 | 2013年 | 2012年 | 2011年 | ... | 1987年 | 1986年 | 1985年 | 1984年 | 1983年 | 1982年 | 1981年 | 1980年 | 1979年 | 1978年 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
地区 | |||||||||||||||||||||
北京市 | NaN | 4314 | 4700 | 6900 | 7300 | 7000 | 6600 | 6500 | 7400 | 8864 | ... | 12170.0 | 11664.0 | 11319.0 | 10859.0 | 9855.0 | 9032.0 | 8284.0 | 7705.0 | 6496.0 | 5568.0 |
天津市 | NaN | 13163 | 13799 | 15500 | 15400 | 15000 | 15800 | 15600 | 15000 | 14300 | ... | 12523.0 | 12860.0 | 12525.0 | 11870.0 | 12654.0 | 12795.0 | 13175.0 | 12819.0 | 11574.0 | 9622.0 |
河北省 | NaN | 280018 | 272957 | 314700 | 298700 | 274300 | 254600 | 234300 | 213700 | 193374 | ... | 34881.0 | 36074.0 | 37341.0 | 42239.0 | 45962.0 | 46234.0 | 45012.0 | 42133.0 | 37237.0 | 28119.0 |
山西省 | NaN | 104580 | 98700 | 130800 | 138100 | 130700 | 119000 | 107200 | 97800 | 88900 | ... | 32908.0 | 33526.0 | 34861.0 | 36938.0 | 37285.0 | 35641.0 | 34402.0 | 32667.0 | 28925.0 | 24280.0 |
内蒙古自治区 | NaN | 354049 | 316476 | 796800 | 767400 | 723800 | 671500 | 623400 | 579400 | 547661 | ... | 42860.0 | 40929.0 | 37942.0 | 32883.0 | 33318.0 | 32673.0 | 33212.0 | 33202.0 | 30644.0 | 12002.0 |
5 rows × 43 columns
data
Years | 2020年 | 2019年 | 2018年 | 2017年 | 2016年 | 2015年 | 2014年 | 2013年 | 2012年 | 2011年 | ... | 1987年 | 1986年 | 1985年 | 1984年 | 1983年 | 1982年 | 1981年 | 1980年 | 1979年 | 1978年 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Province | Factors | |||||||||||||||||||||
北京市 | 农业机械总动力 | NaN | 122.84 | 125.65 | 133.51 | 144.45 | 186.05 | 195.76 | 207.72 | 241.10 | 265.20 | ... | 388.00 | 345.0 | 320.16 | 291.11 | 261.91 | 242.05 | 244.85 | 234.62 | 212.34 | 189.32 |
农作物总播种面积 | NaN | 88.55 | 103.79 | 120.94 | 145.55 | 172.14 | 194.64 | 237.29 | 278.03 | 298.62 | ... | 598.00 | 605.0 | 618.00 | 633.00 | 638.00 | 642.00 | 644.00 | 657.00 | 677.00 | 691.00 | |
农用化肥施用量折合 | NaN | 6.17 | 7.29 | 8.55 | 9.65 | 10.53 | 11.64 | 12.78 | 13.67 | 13.84 | ... | 10.00 | 9.0 | 8.20 | 9.80 | 10.80 | 10.80 | 10.10 | 11.00 | 11.30 | 0.00 | |
农用柴油使用 | NaN | 1.80 | 1.93 | 2.25 | 2.53 | 2.78 | 3.36 | 3.70 | 3.88 | 3.96 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
农药使用 | NaN | 0.23 | 0.26 | 0.27 | 0.30 | 0.32 | 0.36 | 0.39 | 0.39 | 0.39 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
新疆维吾尔自治区 | 秋粮总面积 | NaN | 1134.70 | 1182.44 | 1167.80 | 1186.77 | 1231.43 | 1181.92 | 1170.79 | 1088.40 | 969.77 | ... | 576.50 | 577.6 | 569.60 | 627.40 | 667.60 | 687.60 | 705.49 | 791.00 | 882.20 | 936.40 |
粮食作物总播种面积 | NaN | 2203.61 | 2219.63 | 2295.85 | 2405.28 | 2403.41 | 2303.41 | 2256.89 | 2150.11 | 2050.14 | ... | 1788.20 | 1810.1 | 1861.70 | 1993.20 | 1988.20 | 2035.10 | 2082.90 | 2177.90 | 2270.70 | 2335.30 | |
粮食单位面积产量 | NaN | NaN | 6776.91 | 6467.01 | 6453.85 | 7885.95 | 7596.79 | 7651.90 | 7057.10 | 6959.18 | ... | 3288.22 | 3025.9 | 2679.30 | 2493.50 | 2281.00 | 2002.40 | 1872.40 | 1783.80 | 1733.00 | 1605.80 | |
联合收割机动力 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 58.14 | 53.35 | ... | 19.00 | 18.0 | 18.39 | 17.80 | 16.77 | 16.40 | 14.77 | 14.71 | NaN | NaN | |
联合收割机数量 | NaN | 15000.00 | 13200.00 | 11800.00 | 11100.00 | 9700.00 | 9000.00 | 7800.00 | 7021.00 | 6800.00 | ... | 3467.00 | 3431.0 | 3387.00 | 3557.00 | 3517.00 | 3626.00 | 3472.00 | 3335.00 | 3011.00 | 2617.00 |
558 rows × 43 columns
data.loc['北京市'].shape
(18, 43)
data.loc['北京市']
Years | 2020年 | 2019年 | 2018年 | 2017年 | 2016年 | 2015年 | 2014年 | 2013年 | 2012年 | 2011年 | ... | 1987年 | 1986年 | 1985年 | 1984年 | 1983年 | 1982年 | 1981年 | 1980年 | 1979年 | 1978年 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Factors | |||||||||||||||||||||
农业机械总动力 | NaN | 122.84 | 125.65 | 133.51 | 144.45 | 186.05 | 195.76 | 207.72 | 241.10 | 265.20 | ... | 388.00 | 345.00 | 320.16 | 291.11 | 261.91 | 242.05 | 244.85 | 234.62 | 212.34 | 189.32 |
农作物总播种面积 | NaN | 88.55 | 103.79 | 120.94 | 145.55 | 172.14 | 194.64 | 237.29 | 278.03 | 298.62 | ... | 598.00 | 605.00 | 618.00 | 633.00 | 638.00 | 642.00 | 644.00 | 657.00 | 677.00 | 691.00 |
农用化肥施用量折合 | NaN | 6.17 | 7.29 | 8.55 | 9.65 | 10.53 | 11.64 | 12.78 | 13.67 | 13.84 | ... | 10.00 | 9.00 | 8.20 | 9.80 | 10.80 | 10.80 | 10.10 | 11.00 | 11.30 | 0.00 |
农用柴油使用 | NaN | 1.80 | 1.93 | 2.25 | 2.53 | 2.78 | 3.36 | 3.70 | 3.88 | 3.96 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
农药使用 | NaN | 0.23 | 0.26 | 0.27 | 0.30 | 0.32 | 0.36 | 0.39 | 0.39 | 0.39 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
夏粮单位面积产量 | NaN | 5427.60 | 5274.94 | 5451.75 | 5363.79 | 5352.89 | 5176.66 | 5171.87 | 5257.87 | 4882.03 | ... | 4117.50 | 3826.50 | 3824.10 | 3716.30 | 3448.90 | 2571.60 | 2993.10 | 2111.00 | 3005.20 | 3178.30 |
夏粮总面积 | NaN | 8.20 | 10.14 | 11.45 | 15.96 | 20.78 | 23.58 | 36.22 | 52.20 | 58.14 | ... | 184.30 | 186.30 | 192.20 | 200.50 | 200.10 | 200.30 | 203.80 | 215.50 | 229.60 | 234.40 |
大中型拖拉机动力 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 30.75 | 36.74 | ... | 55.00 | 52.00 | 49.50 | 46.78 | 41.78 | 37.95 | 34.25 | 31.70 | 26.40 | 22.79 |
大中型拖拉机数量 | NaN | 4314.00 | 4700.00 | 6900.00 | 7300.00 | 7000.00 | 6600.00 | 6500.00 | 7400.00 | 8864.00 | ... | 12170.00 | 11664.00 | 11319.00 | 10859.00 | 9855.00 | 9032.00 | 8284.00 | 7705.00 | 6496.00 | 5568.00 |
小型拖拉机动力 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 8.16 | 12.95 | ... | 35.00 | 31.00 | 28.83 | 21.48 | 17.14 | 16.92 | 17.49 | 18.53 | 18.31 | 17.27 |
小型拖拉机数量 | NaN | 2124.00 | 2200.00 | 1400.00 | 1300.00 | 1400.00 | 2000.00 | 2400.00 | 7300.00 | 11653.00 | ... | 42000.00 | 37000.00 | 35000.00 | 28000.00 | 23000.00 | 23000.00 | 24000.00 | 25000.00 | 25000.00 | 23000.00 |
有效灌溉面积 | NaN | 109.24 | 109.67 | 115.48 | 128.47 | 137.35 | 143.11 | 153.02 | 207.54 | 209.33 | ... | 338.00 | 337.27 | 338.40 | 342.67 | 343.27 | 339.33 | 341.27 | 340.33 | 340.80 | 341.73 |
秋粮单位面积产量 | NaN | 6345.10 | 6328.71 | 6296.95 | 6351.95 | 6156.43 | 5355.45 | 6307.95 | 6093.37 | 6174.64 | ... | 4867.91 | 4638.98 | 4580.20 | 4432.73 | 4021.24 | 4097.00 | 3665.64 | 4216.18 | 3147.70 | 3410.83 |
秋粮总面积 | NaN | 38.30 | 45.50 | 55.40 | 69.58 | 83.67 | 96.59 | 122.70 | 141.67 | 151.24 | ... | 310.40 | 313.00 | 319.20 | 322.60 | 329.50 | 327.07 | 326.00 | 333.24 | 330.40 | 326.90 |
粮食作物总播种面积 | NaN | 46.52 | 55.64 | 66.84 | 85.54 | 104.45 | 120.17 | 158.91 | 193.87 | 209.38 | ... | 494.70 | 499.30 | 511.40 | 523.10 | 529.60 | 527.30 | 529.80 | 548.70 | 560.00 | 561.30 |
粮食单位面积产量 | NaN | NaN | 6136.66 | 6152.22 | 6167.59 | 5996.57 | 5320.36 | 6049.04 | 5868.40 | 5815.69 | ... | 4588.64 | 4335.80 | 4296.10 | 4157.60 | 3804.80 | 3517.70 | 3406.90 | 3390.00 | 3089.30 | 3313.50 |
联合收割机动力 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 17.56 | 17.00 | ... | 8.00 | 5.00 | 4.41 | 3.82 | 2.50 | 2.06 | 2.06 | 1.45 | NaN | NaN |
联合收割机数量 | NaN | 1000.00 | 1100.00 | 1300.00 | 1500.00 | 1500.00 | 1800.00 | 1900.00 | 2200.00 | 2167.00 | ... | 2059.00 | 1767.00 | 1517.00 | 1417.00 | 798.00 | 736.00 | 652.00 | 535.00 | 389.00 | 174.00 |
18 rows × 43 columns
缺失值处理
data.dropna(axis=1)
Province | Factors |
---|---|
北京市 | 农业机械总动力 |
农作物总播种面积 | |
农用化肥施用量折合 | |
农用柴油使用 | |
农药使用 | |
... | ... |
新疆维吾尔自治区 | 秋粮总面积 |
粮食作物总播种面积 | |
粮食单位面积产量 | |
联合收割机动力 | |
联合收割机数量 |
558 rows × 0 columns
所以不能直接删除缺失值,考虑填充!
调用 fillna()方法对数据表中的所有缺失值进行填充,在 fillna()方法中输入要填充的值。 还可以通过 method 参数使用前一个数和后一个数来进行填充。
data.T.fillna(method='ffill',axis=0).fillna(method='bfill', axis=0).T
Years | 2020年 | 2019年 | 2018年 | 2017年 | 2016年 | 2015年 | 2014年 | 2013年 | 2012年 | 2011年 | ... | 1987年 | 1986年 | 1985年 | 1984年 | 1983年 | 1982年 | 1981年 | 1980年 | 1979年 | 1978年 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Province | Factors | |||||||||||||||||||||
北京市 | 农业机械总动力 | 122.84 | 122.84 | 125.65 | 133.51 | 144.45 | 186.05 | 195.76 | 207.72 | 241.10 | 265.20 | ... | 388.00 | 345.00 | 320.16 | 291.11 | 261.91 | 242.05 | 244.85 | 234.62 | 212.34 | 189.32 |
农作物总播种面积 | 88.55 | 88.55 | 103.79 | 120.94 | 145.55 | 172.14 | 194.64 | 237.29 | 278.03 | 298.62 | ... | 598.00 | 605.00 | 618.00 | 633.00 | 638.00 | 642.00 | 644.00 | 657.00 | 677.00 | 691.00 | |
农用化肥施用量折合 | 6.17 | 6.17 | 7.29 | 8.55 | 9.65 | 10.53 | 11.64 | 12.78 | 13.67 | 13.84 | ... | 10.00 | 9.00 | 8.20 | 9.80 | 10.80 | 10.80 | 10.10 | 11.00 | 11.30 | 0.00 | |
农用柴油使用 | 1.80 | 1.80 | 1.93 | 2.25 | 2.53 | 2.78 | 3.36 | 3.70 | 3.88 | 3.96 | ... | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | |
农药使用 | 0.23 | 0.23 | 0.26 | 0.27 | 0.30 | 0.32 | 0.36 | 0.39 | 0.39 | 0.39 | ... | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | 0.73 | |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
新疆维吾尔自治区 | 秋粮总面积 | 1134.70 | 1134.70 | 1182.44 | 1167.80 | 1186.77 | 1231.43 | 1181.92 | 1170.79 | 1088.40 | 969.77 | ... | 576.50 | 577.60 | 569.60 | 627.40 | 667.60 | 687.60 | 705.49 | 791.00 | 882.20 | 936.40 |
粮食作物总播种面积 | 2203.61 | 2203.61 | 2219.63 | 2295.85 | 2405.28 | 2403.41 | 2303.41 | 2256.89 | 2150.11 | 2050.14 | ... | 1788.20 | 1810.10 | 1861.70 | 1993.20 | 1988.20 | 2035.10 | 2082.90 | 2177.90 | 2270.70 | 2335.30 | |
粮食单位面积产量 | 6776.91 | 6776.91 | 6776.91 | 6467.01 | 6453.85 | 7885.95 | 7596.79 | 7651.90 | 7057.10 | 6959.18 | ... | 3288.22 | 3025.90 | 2679.30 | 2493.50 | 2281.00 | 2002.40 | 1872.40 | 1783.80 | 1733.00 | 1605.80 | |
联合收割机动力 | 58.14 | 58.14 | 58.14 | 58.14 | 58.14 | 58.14 | 58.14 | 58.14 | 58.14 | 53.35 | ... | 19.00 | 18.00 | 18.39 | 17.80 | 16.77 | 16.40 | 14.77 | 14.71 | 14.71 | 14.71 | |
联合收割机数量 | 15000.00 | 15000.00 | 13200.00 | 11800.00 | 11100.00 | 9700.00 | 9000.00 | 7800.00 | 7021.00 | 6800.00 | ... | 3467.00 | 3431.00 | 3387.00 | 3557.00 | 3517.00 | 3626.00 | 3472.00 | 3335.00 | 3011.00 | 2617.00 |
558 rows × 43 columns
data = data.T.fillna(method='ffill',axis=0).fillna(method='bfill', axis=0).T
# data.iloc[:, 0] = data.iloc[:, 1]
np.any(data.isnull())
False
缺失值处理完毕!
- 缺失值处理此处存有问题,由于数据不完整缺失值过多,向前向后填充不是一个好的办法。
- 如果填充每一行数据的均值,又不太合理,因为这是多年的数据变化,我们在自己填充势必会对实验造成较大影响。
- 因为随着我国经济43年的快速发展,map些因素存在上升或下降的情况,填充其实意义不大!
- 整体来看,个人浅显的认识,该数据可以作为练手,如果想要真正的分析多因素影响还需较完整的数据集。
保存数据集缓存,以后直接加载即可!
# 数据集缓存地址
# cache_path = os.path.join(CACHE_DIR, "ratings_matrix.cache") # 路径拼接
cache_path = './data/preprocessingdata.cache'
# 加载缓存中
# ratings_matrix = pd.read_pickle(cache_path)
# print("从缓存加载数据集完毕")
data.to_pickle(cache_path)
相关性分析
# 仅对河南省进行分析
henan = data.loc['河南省']
henan.T
Factors | 农业机械总动力 | 农作物总播种面积 | 农用化肥施用量折合 | 农用柴油使用 | 农药使用 | 夏粮单位面积产量 | 夏粮总面积 | 大中型拖拉机动力 | 大中型拖拉机数量 | 小型拖拉机动力 | 小型拖拉机数量 | 有效灌溉面积 | 秋粮单位面积产量 | 秋粮总面积 | 粮食作物总播种面积 | 粮食单位面积产量 | 联合收割机动力 | 联合收割机数量 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Years | ||||||||||||||||||
2020年 | 10356.97 | 14713.98 | 666.72 | 100.10 | 10.72 | 6549.40 | 5718.70 | 1283.47 | 373074.0 | 3830.16 | 3139675.0 | 5328.95 | 5881.30 | 5015.90 | 10734.54 | 6096.52 | 880.25 | 295000.0 |
2019年 | 10356.97 | 14713.98 | 666.72 | 100.10 | 10.72 | 6549.40 | 5718.70 | 1283.47 | 373074.0 | 3830.16 | 3139675.0 | 5328.95 | 5881.30 | 5015.90 | 10734.54 | 6096.52 | 880.25 | 295000.0 |
2018年 | 10204.46 | 14783.35 | 692.79 | 103.92 | 11.36 | 6262.79 | 5770.11 | 1283.47 | 353481.0 | 3830.16 | 3184500.0 | 5288.69 | 5909.71 | 5135.97 | 10906.08 | 6096.52 | 880.25 | 287700.0 |
2017年 | 10038.32 | 14732.53 | 706.70 | 108.84 | 12.07 | 6472.35 | 5741.31 | 1283.47 | 458500.0 | 3830.16 | 3175400.0 | 5273.63 | 5427.85 | 5173.82 | 10915.13 | 5977.25 | 880.25 | 278400.0 |
2016年 | 9854.96 | 14902.72 | 715.03 | 112.44 | 12.71 | 6331.87 | 5730.24 | 1283.47 | 432700.0 | 3830.16 | 3295000.0 | 5242.92 | 5227.78 | 5489.31 | 11219.55 | 5791.68 | 880.25 | 265500.0 |
2015年 | 11710.08 | 14879.73 | 716.09 | 114.70 | 12.87 | 6262.96 | 5648.60 | 1283.47 | 402300.0 | 3830.16 | 3396200.0 | 5210.64 | 5353.56 | 5477.70 | 11126.30 | 5815.24 | 880.25 | 241500.0 |
2014年 | 11476.81 | 14731.54 | 705.75 | 115.95 | 12.99 | 6055.48 | 5606.83 | 1283.47 | 378100.0 | 3830.16 | 3462600.0 | 5101.15 | 5129.87 | 5338.14 | 10944.97 | 5604.03 | 880.25 | 221300.0 |
2013年 | 11149.96 | 14586.50 | 696.37 | 113.43 | 13.01 | 5907.74 | 5543.70 | 1283.47 | 357800.0 | 3830.16 | 3513200.0 | 4969.11 | 5333.46 | 5153.72 | 10697.43 | 5631.07 | 880.25 | 200200.0 |
2012年 | 10872.73 | 14386.89 | 684.43 | 112.25 | 12.83 | 5881.57 | 5494.66 | 1283.47 | 338500.0 | 3830.16 | 3539400.0 | 5205.63 | 5398.19 | 4939.90 | 10434.56 | 5652.73 | 880.25 | 177100.0 |
2011年 | 10515.79 | 14373.32 | 673.71 | 111.07 | 12.87 | 5776.14 | 5459.35 | 1129.08 | 310700.0 | 3721.70 | 3557600.0 | 5150.44 | 5392.86 | 4785.07 | 10244.43 | 5597.12 | 769.96 | 157800.0 |
2010年 | 10195.89 | 14320.79 | 655.15 | 107.92 | 12.49 | 5805.34 | 5390.69 | 969.55 | 274445.0 | 3797.50 | 3586100.0 | 5080.96 | 5289.42 | 4636.31 | 10027.00 | 5566.79 | 671.93 | 143760.0 |
2009年 | 9817.84 | 14235.70 | 628.67 | 104.17 | 12.14 | 5792.30 | 5351.21 | 816.84 | 246921.0 | 3806.10 | 3655300.0 | 5033.03 | 5303.09 | 4539.41 | 9890.62 | 5567.77 | 561.91 | 124326.0 |
2008年 | 9429.27 | 14403.71 | 601.68 | 99.24 | 11.91 | 5719.15 | 5319.97 | 693.22 | 202608.0 | 3775.00 | 3636700.0 | 4989.20 | 5338.35 | 4426.91 | 9746.87 | 5546.19 | 431.03 | 102530.0 |
2007年 | 8718.71 | 14308.50 | 569.68 | 96.42 | 11.80 | 5642.71 | 5266.75 | 532.81 | 149400.0 | 3422.00 | 3239700.0 | 4955.84 | 5352.33 | 4261.77 | 9528.52 | 5512.84 | 355.80 | 93200.0 |
2006年 | 8309.13 | 13995.53 | 540.43 | 93.04 | 11.16 | 5627.33 | 5242.71 | 437.04 | 127730.0 | 3266.55 | 3095800.0 | 4918.80 | 5131.58 | 4213.23 | 9455.94 | 5406.44 | 307.77 | 84840.0 |
2005年 | 7934.23 | 13922.73 | 518.14 | 89.79 | 10.51 | 5190.05 | 5027.33 | 366.33 | 110840.0 | 3119.77 | 2984520.0 | 4864.12 | 4781.27 | 4126.08 | 9153.41 | 5005.78 | 251.67 | 71750.0 |
2004年 | 7521.12 | 13789.66 | 493.16 | 86.86 | 10.12 | 5104.57 | 4938.67 | 435.00 | 97000.0 | 2943.62 | 2828600.0 | 4829.08 | 4313.69 | 4031.40 | 8970.07 | 4749.13 | 229.55 | 65960.0 |
2003年 | 6953.17 | 13684.36 | 467.89 | 84.58 | 9.87 | 4771.41 | 4896.67 | 285.44 | 87200.0 | 2717.94 | 2598500.0 以上是关于年鉴表格-数据可视化分析的主要内容,如果未能解决你的问题,请参考以下文章 日常《中国统计年鉴》与《中国金融年鉴》数据表爬虫(附1985-2020所有Excel资源) |