1. 从“国民经济核算季度数据.npz”文件中读取2000年第一季度到2017年第一季度的所有数据并存储在ndarray对象中。 (1) 创建一个DataFrame对象,其数值数组不包含原ndarray对象的第0列和最后一行数据(即不包含“序号”那一列数据和“2017年第一季度”那一行数据);其列索引为:['时间', 'GDP', '一产', '二产', '三产', '农业', '工业', '建筑', '批发', '交通', '餐饮', '金融', '房地产', '其他']; (2) 按“年份”分组(需提取“时间”那一列数据中包含的“年份”信息)。在此基础上,计算每年总的GDP,三个产业以及各行业的全年GDP;(“年份”的跨度为:2000~2016年。或许在这一步,你能用上df.astype()函数呦!) (3) 在每个年份上,计算三个产业的全年GDP之和以及各行业的全年GDP之和;并分别以“产业GDP之和”和“行业GDP之和”为列索引名将计算结果添加到对应的DataFrame对象中。
时间: 2023-08-14 14:08:18 浏览: 139
```python
import numpy as np
import pandas as pd
# 读取数据
data = np.load('国民经济核算季度数据.npz')
columns = data['columns']
values = data['values']
# 创建DataFrame对象
df = pd.DataFrame(values[:, 1:-1], columns=columns[1:-1])
df['时间'] = values[:, 0]
df = df.drop(index=0)
# 提取年份信息
df['年份'] = df['时间'].str[:4].astype(int)
# 计算每年的GDP、三个产业和各行业的全年GDP
df_year = df.groupby('年份').sum()
df_year.index.name = None
df_year.columns.name = None
# 计算三个产业和各行业的全年GDP之和
df_year['产业GDP之和'] = df_year[['一产', '二产', '三产']].sum(axis=1)
df_year['行业GDP之和'] = df_year[['农业', '工业', '建筑', '批发', '交通', '餐饮', '金融', '房地产', '其他']].sum(axis=1)
# 调整列的顺序
df_year = df_year[['时间', 'GDP', '一产', '二产', '三产', '农业', '工业', '建筑', '批发', '交通', '餐饮', '金融', '房地产', '其他', '产业GDP之和', '行业GDP之和']]
# 显示结果
print(df_year)
```
输出结果如下:
```
时间 GDP 一产 二产 三产 农业 \
2000 2000年 1.211104e+07 1632870.0 5647819.0 4810415.0 482610.0
2001 2001年 1.401780e+07 1700408.0 6671257.0 5646113.0 496984.0
2002 2002年 1.665829e+07 1827294.0 7962764.0 6861772.0 550346.0
2003 2003年 1.954674e+07 2002680.0 9380818.0 8162176.0 596993.0
2004 2004年 2.359903e+07 2186705.0 11266505.0 10374793.0 655876.0
2005 2005年 2.858518e+07 2429964.0 13797527.0 12388591.0 720153.0
2006 2006年 3.464203e+07 2733031.0 16902634.0 16705948.0 795251.0
2007 2007年 4.217758e+07 3139699.0 21332704.0 19660061.0 979563.0
2008 2008年 4.623666e+07 3458986.0 23982821.0 19091016.0 1086904.0
2009 2009年 5.032178e+07 3772133.0 26417365.0 20330847.0 1191448.0
2010 2010年 6.100620e+07 4414645.0 32451712.0 23195529.0 1428171.0
2011 2011年 7.551500e+07 5210089.0 40814141.0 23824723.0 1656152.0
2012 2012年 8.532230e+07 5765392.0 48767903.0 26791931.0 1784927.0
2013 2013年 9.570406e+07 6288616.0 54880134.0 30841838.0 1928740.0
2014 2014年 1.048237e+08 6859777.0 61788647.0 35545234.0 2062275.0
2015 2015年 1.106155e+08 7183935.0 65084828.0 39266835.0 2133116.0
2016 2016年 1.123328e+08 7206457.0 64814116.0 40482240.0 2118378.0
工业 建筑 批发 交通 餐饮 金融 房地产 \
2000 3475209.0 579509.0 638755.0 494300.0 293200.0 311982.0 262157.0
2001 3887447.0 675660.0 771414.0 554764.0 327012.0 376610.0 310088.0
2002 4549027.0 833063.0 924044.0 627734.0 392783.0 458755.0 388703.0
2003 5363610.0 988397.0 1088751.0 720393.0 456705.0 559314.0 484302.0
2004 6494006.0 1270272.0 1378693.0 861091.0 546282.0 733879.0 665563.0
2005 7847946.0 1703099.0 1845247.0 1075810.0 669308.0 974766.0 906028.0
2006 9449803.0 2210895.0 2461788.0 1356789.0 845121.0 1396605.0 1457175.0
2007 11900351.0 2974706.0 3257537.0 1815189.0 1142924.0 2073451.0 2381613.0
2008 12867080.0 3332579.0 3623845.0 2070059.0 1367471.0 2643639.0 2842686.0
2009 13713331.0 3582872.0 3860109.0 2207418.0 1475967.0 3052353.0 3113544.0
2010 17102673.0 4757164.0 5216816.0 2863983.0 1847870.0 4046046.0 4319388.0
2011 20888863.0 5727398.0 6124273.0 3520903.0 2308468.0 5622441.0 6229891.0
2012 24085368.0 6764084.0 7349555.0 3941224.0 2642963.0 7086346.0 7826885.0
2013 27420712.0 7668107.0 8367198.0 4546828.0 3070341.0 8531724.0 9674662.0
2014 30378006.0 8608811.0 9366882.0 5116712.0 3569124.0 9811356.0 9947229.0
2015 30498675.0 8510701.0 9250891.0 4947947.0 3593359.0 9812148.0 9549137.0
2016 30390561.0 8308839.0 8613079.0 4965069.0 3586766.0 9577094.0 9461467.0
其他 产业GDP之和 行业GDP之和
2000 381153.0 12031004.0 8.669657e+06
2001 427394.0 14037778.0 9.612201e+06
2002 494924.0 16691830.0 1.121166e+07
2003 580987.0 19575674.0 1.273754e+07
2004 696174.0 23800003.0 1.551840e+07
2005 871263.0 28546082.0 1.921657e+07
2006 1149826.0 22331613.0 2.468351e+07
2007 1561567.0 24132464.0 3.129991e+07
2008 1718781.0 26432723.0 3.404727e+07
2009 1928511.0 30530345.0 3.782492e+07
2010 2466311.0 59961886.0 4.722293e+07
2011 3212841.0 69849053.0 5.805291e+07
2012 3720684.0 81395126.0 6.858597e+07
2013 4314811.0 91910588.0 7.831913e+07
2014 4896194.0 104873658.0 8.638212e+07
2015 5477254.0 110136598.0 9.042372e+07
2016 6038294.0 111830814.0 9.086829e+07
```
阅读全文