Apache Axis

8,双均线策略

核能气质少年 提交于 2020-11-13 04:58:42
import tushare as ts import pandas as pd from pandas import DataFrame,Series df = pd.read_csv('maotai.csv',index_col='date',parse_dates=['date']) df.drop(labels='Unnamed: 0',axis=1,inplace=True) df    ma5 = df['close'].rolling(5).mean() ma30 = df['close'].rolling(30).mean() df['ma5'] = ma5 df['ma30'] = ma30 s1 = ma5 < ma30 T->F金叉 F->T死叉 s2 = ma5 >= ma30 s1 T T F F T T F F s2 F F T T F F T T T F T T T F T F T F F F T F ~(s1 | s2.shift(1)) s1 = ma5 < ma30 s2 = ma5 >= ma30 df.loc[~(s1 | s2.shift(1))].index    df.loc[s1&s2.shift(1)].index  问题:如果我从假如我从2010年1月1日开始,初始资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止

Numpy进阶操作

核能气质少年 提交于 2020-11-13 02:46:17
目录 1. 如何获取满足条设定件的索引 2. 如何将数据导入和导出csv文件 3. 如何保存和加载numpy对象 4. 如何按列或行拼接numpy数组 5. 如何按列对numpy数组进行排序 6. 如何用numpy处理日期 7.高阶numpy函数介绍 1. 如何获取满足条设定件的索引 # 定义数组 import numpy as np arr_rand = np.array([8, 8, 3, 7, 7, 0, 4, 2, 5, 2]) #根据数组是否大于4,满足为True,不满足为False b = arr_rand > 4 b Out[3]: array([ True, True, False, True, True, False, False, False, True, False])  获取满足条件的索引 # 定位数组大于5的索引 index_gt5 = np.where(arr_rand > 5) print("Positions where value > 5: ", index_gt5) Positions where value > 5: (array([0, 1, 3, 4], dtype=int64),) 由索引得到满足条件的值. # 根据索引得到满足条件的数组值 arr_rand.take(index_gt5) Out[5]: array([[8, 8, 7,

机器学习——决策树

徘徊边缘 提交于 2020-11-11 15:06:41
决策树是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型,通过从数据特性中推导出简单的决策规则来预测目标变量的值 导入类库 1 import numpy as np 2 import pandas as pd 3 from sklearn.feature_extraction import DictVectorizer 4 from sklearn.tree import DecisionTreeClassifier 5 from sklearn.model_selection import train_test_split 简单版 1 def decide_play1(): 2 df = pd.read_csv( ' dtree.csv ' ) 3 dict_train = df.to_dict(orient= ' record ' ) 4 5 dv = DictVectorizer(sparse= False) 6 dv_train = dv.fit_transform(dict_train) 7 # print(dv_train) 8 # dv_train1 = np.append(dv_train, dv_train[:, 5].reshape(-1, 1), axis=1) 9 # dv_train2 = np.delete(dv_train1, 5, axis

深入学习OpenCV中几种图像边缘检测算子

跟風遠走 提交于 2020-11-11 09:33:06
  本文学习利用python学习边缘检测的滤波器,首先读入的图片代码如下: import cv2 from pylab import * saber = cv2.imread("construction.jpg") saber = cv2.cvtColor(saber,cv2.COLOR_BGR2RGB) plt.imshow(saber) plt.axis("off") plt.show()   图片如下:   边缘检测是图像处理和计算机视觉的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点,图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括:深度上的不连续,表面方向的不连续,物质属性变化和场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测大幅度的减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。   在实际的图像分割中,往往只用到一阶和二阶导数,虽然原理上,可以用更高阶的导数,但是因为噪声的影响,在纯粹二阶的导数操作中就会出现对噪声的敏感现象,三阶以上的导数信息往往失去了应用价值。二阶导数还可以说明灰度突变的类型。在某些情况下,如灰度变化均匀的图像,只利用一阶导数可能找不到边界,此时二阶导数就能提供很有用的信息。二阶导数对噪声也比较敏感,解决的方法是先对图像进行平滑滤波,消除部分噪声

numpy.ndarray常用属性和方法

天大地大妈咪最大 提交于 2020-11-11 04:52:24
import numpy as np a = np.array([[1,2,3],[4,3,2],[6,3,5]]) print(a) [[1 2 3] [4 3 2 ] [ 6 3 5 ]] print (a.ndim) # array的维度 2 print (a.dtype) # array元素的数据类型 int32 print (a.shape) # array每个维度的大小 ( 3, 3 ) print (a.T) # array的转置 [[ 1 4 6 ] [ 2 3 3 ] [ 3 2 5 ]] print (a.real) # array每个元素的实部 [[ 1 2 3 ] [ 4 3 2 ] [ 6 3 5 ]] print (a.imag) # array每个元素的虚部 [[0 0 0] [0 0 0] [0 0 0]] print (a.flat[1],a.flat[2:5]) # 将array变成一维的基础上对其进行索引 print (a) a.flat[[ 1,4]]=8 # 将array对应位置的值进行改变 print (a) 2 [3 4 3 ] [[ 1 2 3 ] [ 4 3 2 ] [ 6 3 5 ]] [[ 1 8 3 ] [ 4 8 2 ] [ 6 3 5 ]] b = a.tolist() # 将array变成python列表并返回

气象绘图加强版(四)—坐标名、刻度、轴

我只是一个虾纸丫 提交于 2020-11-09 00:58:31
本节提要: 前面已经陆陆续续有一些关于这三类的讲解,但是分散在各章中,不太方便大家查找,所以加强版做了这一期合集,来方便大家使用。 一、轴坐标名 这一节主要讲解图的坐标名的设置方法、常用的美化命令。 首先是设置坐标名称的命令【plt.xlabel (ylabel) 】或者【ax.set_xlabel (ylabel)】 在其中以引号输入你需要的标题文本,如: ax .set_xlabel (' x 轴的名称') 这样就会生成x轴坐标名,y轴同理。当然,大多数时候这个最质朴的命令是无法满足我们的需求的。由于该命令完全是基于text模块的,所以他能使用text模块的关键字参数。下面列举了一些常用的设置关键字参数: fontsize 修改文本的字号(大小) alpha 修改文本的透明度 backgroundcolor 背景颜色 bbox 给标签加上多种样式的边框 color 标签文本的颜色 family 字体的样式,如黑体、仿宋、楷体等 ha、va 横向、纵向的位置,如center、left rotation 文本旋转的角度,一般用数字来控制 position 标签的位置,(x,y)样式传入 loc 控制标签的位置,‘top’,‘left’等 下面这幅图使用了一些参数,需要注意的是bbox这个参数需要以字典的方式附带一些方框的参数(这个字典里的参数只控制这个方框的样式)

在Python中创建文字云或标签云

与世无争的帅哥 提交于 2020-11-08 20:56:52
作者|ISHA5 编译|Flin 来源|analyticsvidhya 介绍 从开始从事数据可视化工作的那一天起,我就爱上它了。我总是喜欢从数据中获得有用的见解。 在此之前,我只了解基本图表,例如条形图,散点图,直方图等,这些基本图表内置在tableau中,而Power BI则用于数据可视化。通过每天完成此任务,我遇到了许多新图表,例如径向仪表盘,华夫图等。 因此,出于好奇,最近我正在搜索数据可视化中使用的所有图表类型,这些词云引起了我的注意,我发现它非常有趣。直到现在,看到这个词云图像迫使我认为这些只是随机排列的图像,这些单词是随机排列的,但是我错了,而且一切都从这里开始。之后,我尝试使用Tableau和Power BI中的少量数据制作词云。在成功尝试之后,我想通过编写条形图,饼图和其他图表的代码来尝试使用它。 词云是什么? 定义:词云是一个简单但功能强大的可视化表示对象,用于文本处理,它以更大,更粗的字母和不同的颜色显示最常用的词。单词的大小越小,重要性就越小。 标签云的用途 1) 社交媒体上的热门标签 (Instagram,Twitter): 全世界,社交媒体都在寻找最新更新的趋势,因此,我们可以获取人们在其帖子中使用最多的标签。 2) 媒体中的热门话题 : 分析新闻报道,我们可以在头条新闻中找到关键字,并提取出前n个需求较高的主题,并获得所需的结果,即前n个热门媒体主题。

pandas 数据处理

喜欢而已 提交于 2020-11-08 15:31:19
删除重复数据 使用duplicated()函数检测重复的行,返回元素为布尔类型的Series对象,每个元素对应一行,如果该行不是第一次出现,则元素为True keep参数:指定保留哪一重复的行数据 创建具有重复元素行的dataframe数据 import numpy as np import pandas from pandas import Series,DataFrame # 创建一个df df = DataFrame(data=np.random.randint(0,100,size=(8,4 ))) # 手动将df的某几行设置成相同的内容 df.iloc[1] = [666,666,666,666 ] df.iloc[ 3] = [666,666,666,666 ] df.iloc[ 5] = [666,666,666,666] 使用duplicated查看所有重复元素行 df.loc[~(df.duplicated(keep= ' first ' ))] # 指定保留第一行重复数据 使用drop去除重复数据 indexs = df.loc[df.duplicated(keep= ' last ' )].index # 保留最后的元素 df.drop(labels=indexs,axis=0) 使用drop_duplicates()函数删除重复的行 参数: drop

Pandas的DataFrame数据类型

回眸只為那壹抹淺笑 提交于 2020-11-06 07:02:01
纵轴表示不同索引axis=0,横轴表示不同列axis=1 DataFrame类型创建 1.从二维ndarray对象创建 1 import pandas as pd 2 3 import numpy as np 4 5 d=pd.DataFrame(np.arange(10).reshape(2,5 )) 6 7 d 8 Out[4 ]: 9 0 1 2 3 4 10 0 0 1 2 3 4 11 1 5 6 7 8 9 #自动生成行索引和列索引 2.从一维ndarray对象字典创建 1 import pandas as pd 2 3 dt={ ' one ' :pd.Series([1,2,3],index=[ ' a ' , ' b ' , ' c ' ]), 4 ' two ' :pd.Series([8,7,6,5],index=[ ' a ' , ' b ' , ' c ' , ' w ' ])} 5 6 dt 7 Out[9 ]: 8 { ' one ' : a 1 9 b 2 10 c 3 11 dtype: int64, ' two ' : a 8 12 b 7 13 c 6 14 w 5 15 dtype: int64} 16 17 d= pd.DataFrame(dt) #原字典中的键变成列索引值,列索引位值中的Series数据中的索引并集 18 19 d 20

用Python构建和可视化决策树

 ̄綄美尐妖づ 提交于 2020-11-02 01:45:04
作者|Nikhil Adithyan 编译|VK 来源|Towards Data Science 决策树 决策树是当今最强大的监督学习方法的组成部分。决策树基本上是一个二叉树的流程图,其中每个节点根据某个特征变量将一组观测值拆分。 决策树的目标是将数据分成多个组,这样一个组中的每个元素都属于同一个类别。决策树也可以用来近似连续的目标变量。在这种情况下,树将进行拆分,使每个组的均方误差最小。 决策树的一个重要特性是它们很容易被解释。你根本不需要熟悉机器学习技术就可以理解决策树在做什么。决策树图很容易解释。 利弊 决策树方法的优点是: 决策树能够生成可理解的规则。 决策树在不需要大量计算的情况下进行分类。 决策树能够处理连续变量和分类变量。 决策树提供了一个明确的指示,哪些字段是最重要的。 决策树方法的缺点是: 决策树不太适合于目标是预测连续属性值的估计任务。 决策树在类多、训练样本少的分类问题中容易出错。 决策树的训练在计算上可能很昂贵。生成决策树的过程在计算上非常昂贵。在每个节点上,每个候选拆分字段都必须进行排序,才能找到其最佳拆分。在某些算法中,使用字段组合,必须搜索最佳组合权重。剪枝算法也可能是昂贵的,因为许多候选子树必须形成和比较。 Python决策树 Python是一种通用编程语言,它为数据科学家提供了强大的机器学习包和工具。在本文中