【数据分析】图书馆数据-02重命名、索书号、分组

图书馆数据预处理:

      1、由于表的字段都是中文,为了后续处理的方便性,首先将表的字段全部重命名为英文。
      2、对于索书号而言,图书的类型主要由索书号的首字母来决定,因此这里将对索书号进行字符串分割,只保留索书号的首字符。
      3、分组获取不同学生借书数量的多少,便于对学生借书行为进行分析。

字段重命名:

df = pd.read_csv('data.csv')
print df.head()
# -----------------
# 字段重命名,重命名为英文名
# -----------------
df.columns = ['', 'read_num', 'read_name', 'read_sex', 'book', 'book_id', 'read_unit', 'read_class']  # 重命名
print df.head()

划分索书号:

import pandas as pd
"""
    划分索书号,获取索书号前两位,分组,获取每个学生的借书数量
"""
pf = pd.read_csv('data_english.csv', encoding='gbk')
print pf.head()
print '---------------------------------'
"""
    获取书目索引号的首位
"""
book_id = pf.pop('book_id')  # 使用pop()函数获取这一列,由于这一列需要修改,所以需要进行删除
# book_id = pf['book_id'].copy()
book_id = book_id.str[:1]
print book_id
print type(book_id)
print '----------------------------------'
"""
    重新插入书目列
"""
pf.insert(5, 'book_id', book_id)
print pf.head()
print '----------------------------------'

分组统计借书数量:

"""
    插入一列num全为1
"""
pf['num'] = 1
print pf.head()
print '----------------------------------'
# for row in len(book_id):
#     print
"""
    按学号分组操作
"""
book = pf[['read_num', 'num']].copy()
print book
# book_counts = book.groupby('read_num').aggregate(sum)
book_counts = book.groupby('read_num').agg('sum')
# print book_counts  # 获得每个学生借书数量的多少
book_counts = book_counts.reset_index()  # 索引转换为列表
print book_counts
print '----------------------------------'

data = pd.merge(pf, book_counts, on=['read_num'], how='left')  # pandas csv表左连接
# print data

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值