Python笔记_第五篇_Python数据分析基础教程_文件的读写
1. 读写文件(基本)
savetxt、loadtxt
i2 = np.eye(2)
print(i2)
np.savetxt(r"C:\Users\Thomas\Desktop\eye.txt",i2) c,v = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,7),unpack=True)
print(c,v)
#[336.1 339.32 345.03 344.32 343.44 346.5 351.88 355.2 358.16 354.54
# 356.85 359.18 359.9 363.13 358.3 350.56 338.61 342.62 342.88 348.16
# 353.21 349.31 352.12 359.56 360. 355.36 355.76 352.47 346.67 351.99] [21144800. 13473000. 15236800. 9242600. 14064100. 11494200. 17322100.
# 13608500. 17240800. 33162400. 13127500. 11086200. 10149000. 17184100.
# 18949000. 29144500. 31162200. 23994700. 17853500. 13572000. 14395400.
# 16290300. 21521000. 17885200. 16188000. 19504300. 12718000. 16192700.
# 18138800. 16824200.]
delimiter=用什么进行分隔符,一般csv文件都是逗号
usecols=6,7,表示获取第七和第八字段数据,也就是股票的收盘价和成交量。
unpack变量为真:拆分存储不同列的数据,即分别将收盘价和成交量的数据赋值给c和v,也就是分开显示的意思。
2. 加权平均价格:average
VWAP
import numpy as np # 加权平均价格
c,v = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,7),unpack=True)
vwap = np.average(c,weights=v)
print("VWAP = ", vwap)
#VWAP = 350.5895493532009
3. 算术平均值:mean
import numpy as np # 加权平均价格
c,v = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,7),unpack=True)
mean = np.mean(c)
print("mean = ", mean)
#mean = 351.0376666666667
4. 时间加权平均价格:
TWAP
import numpy as np # 加权平均价格
c,v = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,7),unpack=True)
t = np.arange(len(c))
twap = np.average(c,weights=t)
print("twap = ", twap)
#twap = 352.4283218390804
5. 最大值、最小值、极差值
max、min、ptp:
import numpy as np # 最大值、最小值、极差值
h,l = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(4,5),unpack=True)
highest = np.max(h)
lowest = np.min(l)
spread_highest = np.ptp(h)
spread_lowest = np.ptp(l) print("highest = ", highest)
print("lowest = ", lowest)
print("spread_highest = ", spread_highest)
print("spread_lowest = ", spread_lowest)
#highest = 364.9
#lowest = 333.53
#spread_highest = 24.859999999999957
#spread_lowest = 26.970000000000027
6. 中位数:median
排序函数:msort
方差:var
标准差:std
import numpy as np # 中位数
c = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,),unpack=True)
print("median = ",np.median(c)) # 排序函数
print("sorted_close = ",np.msort(c)) # 方差函数
print("var = ",np.var(c)) # 标准差函数
print("std = ",np.std(c)) #median = 352.055
#sorted_close = [336.1 338.61 339.32 342.62 342.88 343.44 344.32 345.03 346.5 346.67
# 348.16 349.31 350.56 351.88 351.99 352.12 352.47 353.21 354.54 355.2
# 355.36 355.76 356.85 358.16 358.3 359.18 359.56 359.9 360. 363.13]
#var = 50.126517888888884
#std = 7.080008325481608
7. 差分函数:diff
条件选择函数:where
# 差分函数
c = np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv",delimiter=',',usecols=(6,),unpack=True)
print("diff = ",np.diff(c)) # 条件选择函数
print("price > 0",np.where(c > 0)) #diff = [ 3.22 5.71 -0.71 -0.88 3.06 5.38 3.32 2.96 -3.62 2.31
# 2.33 0.72 3.23 -4.83 -7.74 -11.95 4.01 0.26 5.28 5.05
# -3.9 2.81 7.44 0.44 -4.64 0.4 -3.29 -5.8 5.32]
#price > 0 (array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
# 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], dtype=int64),)
8. 日期分析:
import numpy as np
from datetime import datetime def datestr2num(s):
return datetime.strptime(s.decode('ascii'), "%d-%m-%Y").date().weekday() dates, close=np.loadtxt(r"C:\Users\Thomas\Desktop\data.csv", delimiter=',', usecols=(1,6), converters={1: datestr2num}, unpack=True)
print("dates = ",dates) #dates = [4. 0. 1. 2. 3. 4. 0. 1. 2. 3. 4. 0. 1. 2. 3. 4. 1. 2. 3. 4. 0. 1. 2. 3.
# 4. 0. 1. 2. 3. 4.]
注意:这里的s要解析ascii码
9. summarize函数:对轴或者维度的编号进行定义
apply_along_axis:这个函数会调用另外一个有我们给出的函数,作用于每一个数组元素上。目前我们的数组总有3个元素,分别用于示例数据总的3个星期,元素中的索引值对应于实例数据中的1天。
23
1
23
Python笔记_第五篇_Python数据分析基础教程_文件的读写的更多相关文章
- Python笔记_第五篇_Python数据分析基础教程_相关安装和版本查看
1. IDE说明: 所有的案例用Anacoda中的Jupiter工具进行交互式讲解. 2. 版本和安装: NumPy从如下网站安装:http://sourceforge.net/projects/nu ...
- Python笔记_第五篇_Python数据分析基础教程_前言
1. 前言: 本部分会讲解在Python环境下进行数值运算.以NumPy为核心,并讲解其他相关库的使用,诸如Matplotlib等绘图工具等. C.C++和Forttran等变成语言各有各的优势,但是 ...
- Python笔记_第五篇_Python数据分析基础教程_NumPy基础
1. NumPy的基础使用涵盖如下内容: 数据类型 数组类型 类型转换 创建数组 数组索引 数组切片 改变维度 2. NumPy数组对象: NumPy中的ndarray是一个多维数组对象,该兑现共有两 ...
- Python学习笔记【第五篇】:基础函数
一.函数:函数定义关键字def 后跟函数名称 def 函数名(参数): ... 函数体 ... 返回值 案例: # 定义函数 def say_hei( ...
- Python数据分析基础教程
Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...
- Python开发【第五篇】内置函数
abs() 函数返回数字的绝对值 __author__ = "Tang" a = -30 all() 函数用于判断给定的可迭代参数iterable中的所有元素是否都为True,如果 ...
- python基础教程_学习笔记12:充电时刻——模块
充电时刻--模块 python的标准安装包含一组模块,称为标准库. 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 不论什 ...
- Python学习【第五篇】:面向对象及相关
面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 c ...
- Python开发【第五篇】: 内置模块
内容概要 二分查找.冒泡 random time os sys pickle json shelve re 1.二分查找和冒泡排序 01. 二分查找 二分查找也称折半查找(Binary Search) ...
随机推荐
- kubernetes 1.17.2 结合 Ceph 13.2.8 实现 静态 动态存储 并附带一个实验
关于部署和相关原理 请自行搜索 这里 给出我的操作记录和排查问题的思路 这一节对后面的学习有巨大的作用!!! [root@bs-k8s-ceph ~]# ceph -s cluster: -1a9a- ...
- numpy.linspace使用详解
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 在指定的间隔内返回均匀间隔的数字. 返回nu ...
- excel表格数据导入导出
/** * 导出数据到excel表格 * Created by shenjianhua on 2018-12-28 */ package com.luer.comm.excel; import jav ...
- Google的搜索API的Delphi封装
这个东西实现了已经有一段时间了,那个时候谷歌还没有退出中国内地呢!而现在呢,谷歌都退了有一些日子了!紧以此纪念一番! 话说谷歌API,我相信很多人应该都知道!不晓得在实际应用中,用的人多不多(我说的不 ...
- svn全局设置过滤文件没有作用的解决办法
svn全局设置过滤文件,网上教程文章很多, 都说了怎么配置,没有强调配置内容的格式 导致用惯了git的人,上手配置后,不起作用. 下面是我的配置内容: .classpath .project .set ...
- 使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统
使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblo ...
- Golang的标准输入输出
Golang的标准输入输出 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在很多情况下,我们希望用户通过键盘输入一个数值,存储到某个变量中,然后将该变量的值取出来,进行操作.这时候 ...
- 2.11 学习总结 之 ajax
一.说在前面 昨天 学习了 json 数据结构 今天 学习ajax 并使用 json 二.jquery的ajax操作 1.查询jquery的官方文档发现与ajax相关的jquey方法如下: 1)$. ...
- 安装scrapy框架报错是常见问题
还好,本人只碰到其中一个bug,以下是此次安装经验 环境 py3.4 windows7 64位 安装有VS2010 pip包管理(pycharm) 报错信息 安装lxml过程中报错:error: co ...
- mybatis关于级联查询结果集嵌套映射对象非列表的处理问题
工作中遇到这么一个问题,嵌套查询,返回json的时候,作为属性,deviceFields是一个device中的一个对象属性,在json返回的时候想要得到的应该是deviceFields:{ 具体属性} ...