【计算机设计大赛近年获奖信息】数据分析及可视化_计算机设计大赛获奖比例

def read_pdf_2020(read_path):
pdf_2020 = pdfplumber.open(read_path)
result_df = pd.DataFrame()
for page in pdf_2020.pages:
table = page.extract_table()
df_detail = pd.DataFrame(table[1:], columns=table[0])
# 合并每页的数据集
result_df = pd.concat([df_detail, result_df], ignore_index=True)
# 删除值全部是 NaN 的列
result_df.dropna(axis=1, how=‘all’, inplace=True)
# 重置列名
result_df.columns = [‘奖项’, ‘作品编号’, ‘作品名称’, ‘参赛学校’, ‘作者’, ‘指导老师’]
return result_df

df_2020 = read_pdf_2020(‘2020年中国大学生计算机设计大赛参赛作品获奖名单.pdf’)


![在这里插入图片描述](https://img-blog.csdnimg.cn/5c9139c4151d4f8190fcf8760a020c8a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBARHJlYW3kuLZLaWxsZXI=,size_13,color_FFFFFF,t_70,g_se,x_16)


观察 2020 年的数据,相比于前两年的数据,它的各列都没有缺失值,但2020年的获奖信息中并没有包含作品类别这一列,所以我们处理数据集时要将前两年的类别列进行删除。这样,我们可以按照 2020 数据集的格式作为模板,将前两年的数据集转换为相同的格式,再进行合并。


  

### 数据预处理


#### 各年数据集格式化


按照 2020 年格式,将 2018 年与 2019 年数据集中部分列进行合并,并更换列名,删除多余的列。并添加 “年份” 这一列。


下面是处理后的 2018 年与 2019 年数据。


![在这里插入图片描述](https://img-blog.csdnimg.cn/f6f3f8502c24467e8a4a3645bbfcd900.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBARHJlYW3kuLZLaWxsZXI=,size_20,color_FFFFFF,t_70,g_se,x_16)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/6d597cc8247c4d639f8411b308abaa28.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBARHJlYW3kuLZLaWxsZXI=,size_20,color_FFFFFF,t_70,g_se,x_16)


对于 2020 年数据集的处理要注意,数据读取时是基于每页数据来读取的,如果在一页的最后一行数据较多,需要换行的话,那么下一页首行数据就会缺失,如下所示。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8bd4f7d7d8b44363aaf03f33799aa5b7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBARHJlYW3kuLZLaWxsZXI=,size_20,color_FFFFFF,t_70,g_se,x_16)


这种情况就需要先筛选出这些作品编号为空的行,在将数据添加到上一行中。



2020年数据集处理

clean_df_2020 = df_2020.copy()

部分信息过长导致在分页处被分割,分别出现在两页上&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值