numpy提供了函数用于加载逻辑上可被解释为二维数组的文本文件,格式如下:
数据项1 <分隔符> 数据项2 <分隔符> ... <分隔符> 数据项n 例如: AA,AA,AA,AA,AA BB,BB,BB,BB,BB ... 或: AA:AA:AA:AA:AA BB:BB:BB:BB:BB ... 123456789
调用numpy.loadtxt()函数可以直接读取该文件并且获取ndarray数组对象:
import numpy as np # 直接读取该文件并且获取ndarray数组对象 # 返回值: # unpack=False:返回一个二维数组 # unpack=True: 多个一维数组 np.loadtxt( '../aapl.csv',# 文件路径 delimiter=',',# 分隔符 usecols=(1, 3),# 读取1、3两列 (下标从0开始) unpack=False,# 是否按列拆包 dtype='U10, f8',# 制定返回每一列数组中元素的类型 converters={ 1:func}# 转换器函数字典 ) 123456789101112131415
案例:读取aapl.csv文件,得到文件中的信息:
import numpy as np import datetime as dt # 日期转换函数 def dmy2ymd(dmy):dmy = str(dmy, encoding='utf-8')time = dt.datetime.strptime(dmy, '%d-%m-%Y').date()t = time.strftime('%Y-%m-%d')return t dates, opening_prices,highest_prices, lowest_prices, closeing_pric es = np.loadtxt( '../data/aapl.csv',# 文件路径 delimiter=',',# 分隔符 usecols=(1, 3, 4, 5, 6),# 读取1、3两列 (下标从0开始) unpack=True, dtype='M8[D], f8, f8, f8, f8',# 制定返回每一列数组中元素的类型 converters={ 1:dmy2ymd})
1234567891011121314151617案例:使用matplotlib绘制K线图
绘制dates与收盘价的折线图:import numpy as np import datetime as dt import matplotlib.pyplot as mp import matplotlib.dates as md # 绘制k线图,x为日期 mp.figure('APPL K', facecolor='lightgray') mp.title('APPL K') mp.xlabel('Day', fontsize=12) mp.ylabel('Price', fontsize=12) #拿到坐标轴 ax = mp.gca() #设置主刻度定位器为周定位器(每周一显示主刻度文本) ax.xaxis.set_major_locator( md.WeekdayLocator(byweekday=md.MO) ) ax.xaxis.set_major_formatter(md.DateFormatter('%d %b %Y')) #设置次刻度定位器为日定位器 ax.xaxis.set_minor_locator(md.DayLocator()) mp.tick_params(labelsize=8) #设置时间数据结构 dates = dates.astype(md.datetime.datetime) mp.plot(dates, opening_prices, color='dodgerblue',linestyle='-') mp.gcf().autofmt_xdate() mp.show()
1234567891011121314151617181920212223242526 绘制每一天的蜡烛图:#绘制每一天的蜡烛图 #填充色:涨为白色,跌为绿色 rise = closeing_prices >= opening_prices color = np.array([('white' if x else 'limegreen') for x in rise]) #边框色:涨为红色,跌为绿色 edgecolor = np.array([('red' if x else 'limegreen') for x in rise]) #绘制线条 mp.bar(dates, highest_prices - lowest_prices, 0.1,lowest_prices, color=edgecolor) #绘制方块 mp.bar(dates, closeing_prices - opening_prices, 0.8,opening_prices, color=color, edgecolor=edgecolor) 12345678910111213 算数平均值
S = [s1, s2, ..., sn] 1
样本中的每个值都是真值与误差的和。
算数平均值: m = (s1 + s2 + ... + sn) / n 12
算数平均值表示对真值的无偏估计。
m = np.mean(array) m = array.mean() 12
案例:计算收盘价的算术平均值。
import numpy as np closing_prices = np.loadtxt( '../../data/aapl.csv', delimiter=',', usecols=(6), unpack=True) mean = 0 for closing_price in closing_prices: mean += closing_price mean /= closing_prices.size print(mean) mean = np.mean(closing_prices) print(mean) 1234567891011 加权平均值
样本:
S = [ s 1 , s 2 , s 3 . . . s n ] S = [s_1, s_2, s_3 ... s_n] S=[s1,s2,s3...sn]
权重:
W = [ w 1 , w 2 , w 3 . . . w n ] W =[w_1, w_2, w_3 ... w_n] W=[w1,w2,w3...wn]
加权平均值:
a = s 1 w 1 + s 2 w 2 + . . . + s n w n w 1 + w 2 + . . . + w n a = frac{s_1w_1 + s_2w_2 + ... + s_nw_n}{w_1+w_2+...+w_n} a=w1+w2+
相关知识
python动物语音识别
探索性数据分析—赛事数据集(Ⅰ)
深度学习卷积神经图像分类实现鸟类识别含训练代码和鸟类数据集(支持repVGG,googlenet, resnet, inception, mobilenet)
Python笔试题
使用 OpenCV 和 FER 在 Python 中进行实时情绪识别
python定义一个dog类 类属性有名字
Python学习记录——4.input()函数
FLASH常用函数 1
python学习总结day2
强化学习:通过奖励与惩罚驱动智能体学习的方法
网址: Python数据分析——Numpy常用函数 https://m.mcbbbk.com/newsview277070.html
上一篇: 狗狗学主人表演行为艺术,主人不动 |
下一篇: MATLAB数值微积分与方程求解 |