numpy 保存数据到文件
np.savetxt(filename , data)
准备一个数组
arr = np.arange(5)
输出:array([0, 1, 2, 3, 4])
np.savetxt('arr.txt',arr)
读取文件
np.loadtxt(filename, dtype ,delimiter ,usecols ,unpack ,skiprows ,encoding )filename : str 文件名
dtype:默认float 会将数据转为 float 。有转不了的时候, 可用其他的形式,如object delimiter: str 数据的分隔符 usecols: tuple 加载哪几列数据
unpack: bool 按照 行 读取 还是 按照 列 读取 skiprows:int 跳过 n 行
encoding:str 文件的编码
np.loadtxt('arr.txt')
输出:array([0., 1., 2., 3., 4.])
np.loadtxt('data.txt',dtype=object,encoding='utf-8',usecols=(0,2) ,unpack=False)
输出:
np.loadtxt('data.txt',dtype=object,encoding='utf-8',usecols=(0,2) ,unpack=True)
输出:
基于 Numpy 的股价统计分析
# 举例 加权的平均
# 小明 语文 数学 英语 85,95,75
score = np.array([85,95,75])
weight = np.array([0.2,0.7,0.1])
avg_score = np.average(score, weights= weight)
avg_score
输出:91.00000000000001
1.np.average(arr1, weights=arr2)
成交量加权平均 ,也就是 成交量作为权重,计算 收盘价
vwap = np.average(close,weights=amount)
输出:350.5895493532009
普通的 平均值
np.mean(close)
2.求这段时间 最高价 的最大值 ,最低价的最小值
high,low = np.loadtxt('data.csv',delimiter=',',usecols=(4,5),skiprows=1, unpack=True)
print(high)
np.max(high)
3.np.ptp() 极差
最高价的极差
print(high)
print(max(high)-min(high))
np.ptp(high)
4.np.median( ) 中位数
np.median([1,2,3,4,5])
5.验证上一行的 中位数是否正确 。 先排序 np.sort( ) 。再取中间两个求平均
sort_close = np.sort(close)
6.N = len(sort_close)
# 30 15 14 | 23 11 11
N1 = int(N/2)
N2 = (N-1)//2
(sort_close[N1] + sort_close[N2]) /2