【数据分析】图书馆数据-01建表

通过Python对图书馆2016年全年18万余条借阅记录和1.5万余条学生信息进行数据挖掘,分析学生借阅行为规律及读者类型。

      对图书馆的数据进行数据挖掘,考虑到学生借阅图书的周期性,在图书馆数据库中主要选取了读者信息表读者借阅记录表,选取从2016年1月1日到2016年12月31日的182508条借阅记录信息和15294条学生信息,使用python对数据进行数据挖掘处理,根据数据挖掘的结果来分析其中蕴含的规律。

      读者借阅记录表是在读者借书的过程中,由图书馆数据库生成的,包括读者证号、读者姓名、条形码、书名等11个属性。

      读者借阅记录表的结构:

列名数据类型列名数据类型列名数据类型列名数据类型
读者证号char(20)读者姓名char(10)条形码char(14)出版日期char(10)
书名char(100)借出时间datetime限还时间datetime续借次数int
文献类型char(10)中图法分类号char(50)出版者char(10)


      读者信息表的结构:

列名数据类型列名数据类型列名数据类型列名数据类型
读者证号char(20)读者姓名char(10)读者性别char(2)读者单位char(40)
读者类别char(10)允许借册int借出册数int


      通过对两张表进行分析,分别从表中选择部分字段,构成一个新的表:

列名数据类型列名数据类型列名数据类型列名数据类型
读者证号char(20)读者姓名char(10)读者性别char(2)书名char(40)
中图法分类号char(50)读者单位char(40)读者类别char(10)
import csv as csv
import numpy as np
import codecs
"""
    合并表格,并改列名为英文,输出合并后的表格
"""
# -------------
# csv读取表格数据
# -------------
"""
csv_file_object = csv.reader(codecs.open('ReaderRentRecode.csv', 'rb'))
header = csv_file_object.next()
print header
print type(header)
print header[1]

data = []
for row in csv_file_object:
    data.append(row)
data = np.array(data)

print data[0::, 0]
"""
# -------------
# pandas读取表格数据
# -------------
import pandas as pd

df = pd.read_csv('ReaderRentRecode.csv')  # 读者借阅信息表
"""
print df.head()
print '----------------'
print df[['读者证号', '读者姓名', '书名', '中图法分类号']]  # 选取其中的四列
print '------------------------------------------------------------------'
print
"""
dd = pd.read_csv('ReaderInformation.csv')
"""
print dd.head()
print '----------------'
print dd[['读者证号', '读者性别', '读者单位', '读者类别']]
print '------------------------------------------------------------------'
print
"""
# -------------
# 表格合并
# -------------
data = pd.merge(df, dd, on=['读者证号', '读者姓名'], how='left')  # pandas csv表左连接
data = data[['读者证号', '读者姓名', '读者性别', '书名', '中图法分类号', '读者单位', '读者类别']]
print data
print '------------------------------------------------------------------'
print

# -------------
# pandas写入表格数据
# -------------
data.to_csv(r'data.csv', encoding='gbk')

对业务上的数据分析,也是首次开始学习,如果分析的不对,也请提点一下,想法很重要,所以这也是基于自己现有的想法进行分析处理,在这个数据分析的流程上,在业务逻辑上,有任何建议都希望给予提点,谢谢!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值