IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 外包 | “numpy“ Assignment -> 正文阅读

[Python知识库]外包 | “numpy“ Assignment

外包 | “numpy” Assignment

相关资源下载

资源下载

Q3

用到的数据就一个csv文件
第一列: 记载着日期时间, 365天每天24小时的数据, 也就是有 365*24=8760 条数据, 不过是乱序的
第二列: 记载着某一天某个小时的气温
其他列: 用不到

作业要求: pure numpy to do it
在这里插入图片描述
?

Q3 - 1

找出数据的标题信息,并打印索引信息

# 用numpy 读取csv, 因为csv本质也是文本文件, 和txt一样
with open('./weatherHistory 2016.csv', 'r', encoding='utf-8') as f:
    data = np.loadtxt(f, dtype=str,delimiter = ",")
f.close()
data

在这里插入图片描述

# 根据索引打印信息
for index, title in enumerate(data[0][1:]):
    print(f'{index} {title}')

在这里插入图片描述
?

Q3 - 2

2.找出所有数据中最高气温和最低气温,以及对应的日期;

allTemp = data[:, 1][1:].astype(np.float16)
maxIndex = allTemp.argmax()
minIndex = allTemp.argmin()
maxTemp = allTemp[maxIndex]
minTemp = allTemp[minIndex]
maxDate = data[:, 0][1:][maxIndex]
minDate = data[:, 0][1:][minIndex]
print(f'最高气温:{maxTemp}, 日期:{maxDate}\n最低气温:{minTemp}, 日期:{minDate}')

?

Q3 - 3

在这里插入图片描述

  1. 整理时间, 对时间进行排序: 将字符类型时间转成时间戳, 然后根据时间戳大小从小到大进行排序

    # 处理时间
    import time
    newData = data.copy()[1:, :2]
    for i in range(len(newData)):
        newData[i][0] = time.mktime(time.strptime(newData[i][0][:19], "%Y-%m-%d %H:%M:%S"))
    # 根据第一列时间戳大小进行排序
    newData = newData[np.argsort(newData[:,0])]
    
  2. 将一天24h的数据重整到一行, 每一行就24列, 最后得到一个 366*24 的矩阵

    # 重整数组
    numDay = int(len(newData) / 24)
    reshapeTempArray = np.reshape(newData[:,1], (numDay, 24)).astype(np.float64)
    
  3. 绘图

    import matplotlib.pyplot as plt
    x = [i for i in range(366)]
    maxData = np.max(reshapeTempArray, axis=1)
    minData = np.min(reshapeTempArray, axis=1)
    avgData = np.average(reshapeTempArray, axis=1)
    plt.plot(x, maxData, label='max', c='blue')
    plt.plot(x, minData, label='min', c='orange')
    plt.plot(x, avgData, label='avg', c='green')
    plt.legend()
    plt.savefig('./figure1.png')
    plt.show()
    

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:38:17  更:2022-04-26 11:39:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 11:26:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计