美文网首页
Pandas|如何利用pandas快速处理一批图书目录

Pandas|如何利用pandas快速处理一批图书目录

作者: 温暖的Lily | 来源:发表于2022-09-20 19:30 被阅读0次

图书馆或者书店从馆配商处获得新书目录,筛选书目之前,最好进行预处理,包括删除定价过高或过低的、不需要的类,本科以上院校,会删除高职高专等图书,excel处理书目,非常麻烦,看看如何用pandas快速预处理。

1、导入书目

import pandas as pd

data = pd.read_excel(r'书目.xlsx')

2、#有的馆配商数据不规范,包含多余的空格,先数据清洗:去掉\t,\n等多余换行符

data = data.replace('\t','', regex=True).replace('\n','',regex=True)

3、#经济下行,图书馆的经费也是不多,太贵的不舍得买,太便宜的质量不够好,去掉定价250以上,30以下的

data = data[(data['定价'] <= 250)

& (data['定价'] >= 30)]

4、#按分类号排序

data = data.sort_values(by = '分类号')

5、#设置一列简单分类号,便于统计各个类购买量

data['简单分类号'] = data['分类号'].str[:2]

6、#筛选符合要求的分类号,与学校学科无关的类号的图书直接删除

select_list = ['N','O','P','Q','S','TB','TM','TN','TP','TS']

select_list  = '|'.join(select_list)

select_data = data[data['简单分类号'].str.contains(select_list)]

7、去掉含有一些不想要的关键词的书

select_not_list = ['高职','高专','职业','中职','中专']

select_not_list  = '|'.join(select_not_list)

#select_not_data = select_data[~select_data['使用对象'].str.contains(select_not_list)|~select_data['内容提要'].str.contains(select_not_list)|~select_data['书名'].str.contains(select_not_list)]

select_not_data = select_data[(~select_data['书名'].str.contains(select_not_list)) & (~select_data['使用对象'].str.contains(select_not_list)) & (~select_data['内容提要'].str.contains(select_not_list))]

8、#处理差不多了,添加复本列

data = select_not_data

data['复本'] = 1

9、保存

data.to_excel(excel_writer = r'处理的书目.xlsx')

相关文章

网友评论

      本文标题:Pandas|如何利用pandas快速处理一批图书目录

      本文链接:https://www.haomeiwen.com/subject/exliortx.html