项目 内容
课程班级博客链接 20级数据班(本)
这个作业要求链接 Python作业
博客名称 2003031121-浦娟-python数据分析五一假期作业
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。

作业:

把期中考试代码看懂、运行并调通,要求每一行 或 每个重要功能写上注释。

一、分析1996~2015年人口数据特征间的关系

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. #使⽤numpy库读取数据
  4. data=np.load('E:/桌面/populations.npz',allow_pickle=True)
  5. print(data.files)#查看⽂件中的数组
  6. print(data['data'])
  7. print(data['feature_names'])
  8. plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
  9. plt.rcParams['axes.unicode_minus'] = False# 防止字符无法显示
  10. name=data['feature_names']#提取其中的feature_names数组,视为数据的标签
  11. values=data['data']#提取其中的data数组,视为数据的存在位置
  12. p1=plt.figure(figsize=(12,12))#确定画布大小
  13. pip1=p1.add_subplot(2,1,1)#创建一个两行个一列的图并开始绘制
  14. #在子图上绘制散点图
  15. plt.scatter(values[0:20,0],values[0:20,1])#,marker='8',color='red'
  16. plt.ylabel('总人口(万人)')
  17. plt.legend('年末')
  18. plt.title('1996~2015年末与各类人口散点图')
  19. pip2=p1.add_subplot(2,1,2)#绘制图2
  20. plt.scatter(values[0:20,0],values[0:20,2])#,marker='o',color='yellow'
  21. plt.scatter(values[0:20,0],values[0:20,3])#,marker='D',color='green'
  22. plt.scatter(values[0:20,0],values[0:20,4])#,marker='p',color='blue'
  23. plt.scatter(values[0:20,0],values[0:20,5])#,marker='s',color='purple'
  24. plt.xlabel('时间')
  25. plt.ylabel('总人口(万人)')
  26. plt.xticks(values[0:20,0])
  27. plt.legend(['男性','女性','城镇','乡村'])
  28. #在⼦图上绘制折线图
  29. p2=plt.figure(figsize=(12,12))
  30. p1=p2.add_subplot(2,1,1)
  31. plt.plot(values[0:20,0],values[0:20,1])#,linestyle = '-',color='r',marker='8'
  32. plt.ylabel('总人口(万人)')
  33. plt.xticks(range(0,20,1),values[range(0,20,1),0],rotation=45)#rotation设置倾斜度
  34. plt.legend('年末')
  35. plt.title('1996~2015年末总与各类人口折线图')
  36. p2=p2.add_subplot(2,1,2)
  37. plt.plot(values[0:20,0],values[0:20,2])#,'y-'
  38. plt.plot(values[0:20,0],values[0:20,3])#,'g-.'
  39. plt.plot(values[0:20,0],values[0:20,4])#,'b-'
  40. plt.plot(values[0:20,0],values[0:20,5])#,'p-'
  41. plt.xlabel('时间')
  42. plt.ylabel('总人口(万人)')
  43. plt.xticks(values[0:20,0])
  44. plt.legend(['男性','女性','城镇','乡村'])
  45. #显示图片
  46. plt.show()

二、读取并查看P2P网络贷款数据主表的基本信息

  1. import os
  2. import pandas as pd
  3. master = pd.read_csv('E:/桌面/Training_Master .csv',encoding='gbk')
  4. print('P2P网络贷款主表数据的维度为:',master.ndim)
  5. print('P2P网络贷款主表数据的形状大小为:',master.shape)
  6. print('P2P网络贷款主表数据的占用内存为:',master.memory_usage)
  7. print('P2P网络贷款主表数据的描述性统计为:\n',master.describe())

提取用户信息更新表和登录信息表的时间信息

  1. import pandas as pd
  2. LogInfo = pd.read_csv('E:/桌面/Training_LogInfo .csv',encoding='gbk')
  3. Userupdate = pd.read_csv('E:/桌面/Training_Userupdate.csv',encoding='gbk')
  4. # 转换时间字符串
  5. LogInfo['Listinginfo1']=pd.to_datetime(LogInfo['Listinginfo1'])
  6. LogInfo['LogInfo3']=pd.to_datetime(LogInfo['LogInfo3'])
  7. print('转换登录信息表的时间字符串前5行:\n',LogInfo.head())
  8. Userupdate['ListingInfo1']=pd.to_datetime(Userupdate['ListingInfo1'])
  9. Userupdate['UserupdateInfo2']=pd.to_datetime(Userupdate['UserupdateInfo2'])
  10. print('转换用户信息更新表的时间字符串前5行:\n',Userupdate.head())

使用分组聚合方法进一步分析用户信息更新表和登录信息表

  1. import pandas as pd
  2. import numpy as np
  3. LogInfo = pd.read_csv('E:/桌面/Training_LogInfo .csv',encoding='gbk')
  4. Userupdate = pd.read_csv('E:/桌面/Training_Userupdate.csv',encoding='gbk')
  5. # 使用groupby方法对用户信息更新表和登录信息表进行分组
  6. LogGroup = LogInfo[['Idx','LogInfo3']].groupby(by = 'Idx')
  7. UserGroup = Userupdate[['Idx','UserupdateInfo2']].groupby(by = 'Idx')
  8.  
  9. # 使用agg方法求取分组后的最早,最晚,更新登录时间
  10. print('分组后的最早登录时间为:\n',LogGroup.agg(np.min))
  11. print('分组后的最晚登录时间为:\n',LogGroup.agg(np.max))
  12. print('分组后的最早更新时间为:\n',UserGroup.agg(np.min))
  13. print('分组后的最晚更新时间为:\n',UserGroup.agg(np.max))
  14.  
  15. # 使用size方法求取分组后的数据的信息更新次数与登录次数
  16. print('分组后的数据的信息更新次数为:\n',LogGroup.size())
  17. print('分组后的数据的登录次数为:\n',UserGroup.size())

2003031121-浦娟-python数据分析五一假期作业的更多相关文章

  1. 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用

    项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...

  2. 2003031121-浦娟-python数据分析第四周作业-第二次作业

    项目 内容 课程班级博客链接 20级数据班(本) 作业链接 Python第四周作业第二次作业 博客名称 2003031121-浦娟-python数据分析第四周作业-matolotlib的应用 要求 每 ...

  3. 2003031121-浦娟-python数据分析第三周作业-第一次作业

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...

  4. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  5. Python数据分析(二): Numpy技巧 (2/4)

    numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性.   昨天晚上发了第一 ...

  6. Python数据分析(二): Numpy技巧 (3/4)

    numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性.   昨天晚上发了第一 ...

  7. 零基础学习Python数据分析

    网上虽然有很多Python学习的教程,但是大多是围绕Python网页开发等展开.数据分析所需要的Python技能和网页开发等差别非常大,本人就是浪费了很多时间来看这些博客.书籍.所以就有了本文,希望能 ...

  8. [Python数据分析]新股破板买入,赚钱几率如何?

    这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...

  9. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

随机推荐

  1. JVM的小总结(转)

    ref:http://www.cnblogs.com/ityouknow/p/6482464.html 注1:看了大神:纯洁的微笑的JVM系列篇,发现好多地方还是似懂非懂,理解的并不透彻,jvm的调优 ...

  2. 在 mapper 中如何传递多个参数?

    1.第一种: DAO 层的函数 public UserselectUser(String name,String area); 对应的 xml,#{0}代表接收的是 dao 层中的第一个参数,#{1} ...

  3. piwik安装部署

    1.piwik介绍 Piwik是一个PHP和MySQL的开放源代码的Web统计软件,它给你一些关于你的网站的实用统计报告,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等. Piwik拥有众多不同 ...

  4. mysql8.0时区问题

    今天在mysql新增一条数据的时候,发现时间类型的字段比起现在少了8个小时,查了资料才发现,这个是MySQL8.0出现的问题,讲下解决方法. 1.在java项目中application.yml文件中的 ...

  5. 攻防世界php_rce

    php_rce 进入题目提示为ThinkPHP V5 遇到这种题我们一般去找一下框架的rce漏洞即可,搜索到这样一篇文章 https://www.freebuf.com/articles/web/28 ...

  6. c++的常用库

    C++ 资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++标准库,包括了STL容器,算法和 ...

  7. 1. 了解Git和Github

    1. 了解Git和Github 1.1 什么是Git Git是一个免费.开源的版本控制软件 1.2 什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统. ...

  8. (stm32f103学习总结)—输入捕获模式

    一.输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种.STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕获功能.输入捕获可以对输入 ...

  9. window onerror 各浏览器下表现总结

    window onerror 各浏览器下表现总结 做前端错误上报,必然离不开window onerror,但window onerror在不同设备上表现并不一致,浏览器为避免信息泄露,在一些情况下并不 ...

  10. This program may be freely redistributed under the terms of the GNU GPL

    在centos中安装Google浏览器时 执行[root@server1 opt]# rpm ivh install google-chrome-stable_current_x86_64.rpm 爆 ...