利用Numpy提取+处理数据
Numpy练习2
- 练习题
- 利用Numpy处理csv文档的数据
- 利用Numpy分析数据+Matplotlib画图
- 利用Numpy处理csv文档的数据
- 代码
- 部分原数据
- 效果图
- 利用Numpy分析数据+Matplotlib画图
- 代码
- 练习二效果图
- 小结
练习题
利用Numpy处理csv文档的数据
利用Numpy分析数据+Matplotlib画图
利用Numpy处理csv文档的数据
代码
import numpy as np
# Question 1: 读取scores.csv的数据 并且
score_data = np.loadtxt("scores.csv", delimiter=",", skiprows=1)
# 由于成绩是一列一列的 然后有两个column 分别是 期中 和 期末
# 分别将两列成绩取出
arr_midterm = score_data[:, 0] # 期中
arr_final = score_data[:, 1] # 期末
# 接下来利用布尔索引完成下列任务
# 筛选出 成绩 大于60 并且 小于80 的数据
arr1_midterm = arr_midterm[(arr_midterm > 60) & (arr_midterm < 80)].astype("uint8")
arr1_final = arr_final[(arr_final > 60) & (arr_final < 80)].astype("uint8")
# 筛选出 成绩 大于80 并且 小于90 的数据
arr2_midterm = arr_midterm[(arr_midterm > 80) & (arr_midterm < 90)].astype("uint8")
arr2_final = arr_final[(arr_final > 80) & (arr_final < 90)].astype("uint8")
# 筛选出 成绩 大于90 的数据
arr3_midterm = arr_midterm[arr_midterm > 90].astype("uint8")
arr3_final = arr_final[arr_final > 90].astype("uint8")
# 输出成绩
print("期中考试大于60并且小于80的分数: ", arr1_midterm)
print("期末考试大于60并且小于80的分数:", arr1_final)
print("期中考试大于60并且小于80的分数:", arr2_midterm)
print("期末考试大于60并且小于80的分数:", arr2_final)
print("期中考试大于90的分数: ", arr3_midterm)
print("期末考试大于90的分数: ", arr3_final)
部分原数据
效果图
利用Numpy分析数据+Matplotlib画图
代码
# Question 2: UK和USA的YouTube数据分析, 每列对应的是:点击,喜欢,不喜欢,评论
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties# 处理中文字体的问题
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)UK_youtube_data = np.loadtxt("GB_video_data_numbers.csv", delimiter=",", skiprows=1, dtype="uint8")
USA_youtube_data = np.loadtxt("US_video_data_numbers.csv", delimiter=",", skiprows=1, dtype="uint8")
# 英国的数据
UK_click = UK_youtube_data[:, 0] # 点击
UK_like = UK_youtube_data[:, 1] # 喜欢
UK_dislike = UK_youtube_data[:, 2] # 不喜欢
UK_comment = UK_youtube_data[:, 3] # 评论
# 美国的数据
USA_click = USA_youtube_data[:, 0] # 点击
USA_like = USA_youtube_data[:, 1] # 喜欢
USA_dislike = USA_youtube_data[:, 2] # 不喜欢
USA_comment = USA_youtube_data[:, 3] # 评论# 1. 结合Matplotlib绘制各自的评论数量的图形,体现其 评论数 主要分布在哪个区间。
# 此题利用直方图
# 求极差
range_number = max(max(UK_comment), max(USA_comment)) - min(min(UK_comment), min(USA_comment))
# 自定义组距(经验公式 K = 1 + lg(n)/lg2)
b = 11
# 求得组数
bins = int(round(range_number)/b)
# 绘制直方图
plt.hist([UK_comment, USA_comment], bins, label=["UK", "USA"])
# 添加x轴和y轴标签
plt.xlabel("评论数", fontproperties=font)
plt.ylabel("频数", fontproperties=font)
# 添加图例
plt.legend(loc="upper right", prop=font)
# 添加标题
plt.title("YouTube的评论数直方分布图", fontproperties=font)
# 显示图形
plt.show()# 2. 绘制图形,分析英国的Youtube中视频的评论数与喜欢数的关系。
# 此题也可以使用直方图
# 求极差
range_number = max(max(UK_comment), max(UK_like)) - min(min(UK_comment), min(USA_like))
# 自定义组距(经验公式 K = 1 + lg(n)/lg2)
b = 11
# 求得组数
bins = int(round(range_number)/b)
# 绘制直方图
plt.hist([UK_comment, UK_like], bins, label=["评论数", "喜欢数"])
# 添加y轴标签
plt.ylabel("频数", fontproperties=font)
# 添加图例
plt.legend(loc="upper right", prop=font)
# 添加标题
plt.title("英国YouTube上评论数和喜欢数的直方分布图", fontproperties=font)
plt.show()# 3. 当希望将两个国家的数据拼接一起来研究分析。
# • 拼接全为0的数组标识为英国
print("拼接0之后,英国的数据:")
UK_zeros = np.zeros((len(UK_comment), 1), dtype="uint8")
arr_zero_UK = np.hstack((UK_youtube_data, UK_zeros)) # 水平拼接
print(arr_zero_UK)
print()
# • 拼接全为1的数组标识为美国
print("拼接1之后,美国的数据:")
USA_ones = np.ones((len(USA_comment), 1), dtype="uint8")
arr_one_USA = np.hstack((USA_youtube_data, USA_ones)) # 水平拼接
print(arr_one_USA)
print()
# • 将两个国家的数据拼接
print("英国和美国垂直拼接后的数据: ")
arr_UK_USA = np.vstack((arr_zero_UK, arr_one_USA))
print(arr_UK_USA)
练习二效果图
小结
- 从csv文件里面提取数据时,需要注意文件的格式、分隔符、数据的类型以及排序方式。
- 第二个画图题最好使用散点图。
- 需要注意水平拼接和垂直拼接的前提条件。
利用Numpy提取+处理数据相关推荐
- 利用ArcGIS提取MODIS数据的像元坐标
MODIS数据简介 MODIS数据目前已经提供多种数据,以terra卫星的反射率产品MOD09GA(2018年217天h15v01)为例,该产品的数据是HDF4格式,它将许多有用的数据集整合到一起,当 ...
- 图片播放器的实现1——利用Image2LCD提取图片数据并显示
以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 参考内容 (1)https://xiefor100.blog.csdn.net/article/details/71941527 (2) ...
- 利用Python提取函数图像数据并拟合曲线
目录 1. 前言 2. 数据提取 2.1 图像预处理 2.2 提取数据 3. 曲线拟合 4. 优化代码 1. 前言 学校导师要求拟合曲线,但只有函数图像没有数据,图像和公式都不懂就负责把系数算出来. ...
- python处理nc数据_python中的.nc文件处理 | 04 利用矢量边界提取NC数据
利用矢量边界提取.nc数据 import os import numpy as np import pandas as pd import matplotlib.pyplot as plt impor ...
- python爬百度翻译-Python爬取百度翻译(利用json提取数据)
本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...
- Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal 目录 输出结果 代码设计 输出结果 代码设计 ...
- 利用正则表达式提取网页中Table内的数据
利用正则表达式提取网页中Table内的数据 using System; using System.Collections.Generic; using System.Linq; using Syste ...
- python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...
怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...
- matlab如何取对数坐标,利用Matlab提取图片中曲线数据(线性修正,支持对数坐标)
利用Matlab提取图片中曲线数据 前一段时间看到一篇文章"利用Matlab提取图图片中的数据",觉得思路挺好,遂下载下来研究了一番,发现作者所编写的程序没有考虑原始图片非水平放置 ...
最新文章
- 杀掉某个进程的 Shell
- freeRtos学习笔记 (6)软件定时器
- AMBA、AHB、APB、AXI总线
- PHP常用工具函数之手机号相关
- html5 clip,canvas中使用clip()函数裁剪方法
- Kali-linux使用Nessus
- 社交系统ThinkSNS可以运营什么?可以应用于什么场景?
- 《操作系统》——第一章 计算机系统概述
- HDU-2203-亲和串(kmp)
- 工业互联网方案商“全应科技”获明势领投Pre-A轮融资
- Windows XP sp3上可以安装SQL Server 2008企业版?
- JAVA实现Word转Pdf文件
- JavaScript学习笔记
- 如何绘制一幅优雅的列线图
- 无人驾驶汽车激光雷达用胶的三大要求
- 三分钟部署Laxcus大数据管理系统
- MySQL适合运行在Docker中吗?
- 浅拷贝copy(“=”)和深拷贝(“copy.deepcopy()”)
- usb万能驱动win7_win 10 重装 win 7 系统
- Apache----web服务器软件
热门文章
- aws rds 加密_AWS RDS SQL Server中的加密备份和还原
- python爬虫案例-乌托家家具公司数据爬取
- 第四篇 做一个用户登录之后查看学员信息的小例子
- 2018.3.12 Leecode习题 给定一个整数数列,找出其中和为特定值的那两个数。
- wait 和 sleep 区别
- Android中CursorLoader的使用、原理及注意事项
- 找换硬币问题 与 0-1背包问题区别
- Struts2 标签库讲解
- easyui datagrid中添加右键菜单事件
- In Depth和In Action的区别——写在《深入理解C#(第二版)》出版之际