首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Python实现股价的简单移动平均值(SMA)

根据书中的内容,我自己也做了一点改进的工作——用Python绘制出股价的5日均线和20日均线。众所周知,5日均线是短线交易的生死线,而20日均线是中长线趋势的分水岭。...import matplotlib.pyplot as plt 导入库的部分,不解释了,下面拉数据: end_date = datetime.date.today() start_date = end_date...能够看到最早的数据到2021年的10月8日: 然后我开始添加5日和20日均线 price['ma5'] = price['Adj Close'].rolling(5).mean() price['ma20...'] = price['Adj Close'].rolling(20).mean() price.tail() 数据中就可以看到了: 为了便于观察,我用代码画了个图: fig = plt.figure...price.ma20.plot(ax=ax1, color='b', lw=2., legend=True) plt.grid() plt.show() 这样就可以直观看到图像: 这样就可以根据不同周期的均线来设计移动平均策略了

2.6K20

使用 Python 对相似索引元素上的记录进行分组

在 Python 中,可以使用 pandas 和 numpy 等库对类似索引元素上的记录进行分组,这些库提供了多个函数来执行分组。基于相似索引元素的记录分组用于数据分析和操作。...在本文中,我们将了解并实现各种方法对相似索引元素上的记录进行分组。 方法一:使用熊猫分组() Pandas 是一个强大的数据操作和分析库。...语法 grouped = df.groupby(key) 在这里,Pandas GroupBy 方法用于基于一个或多个键对数据帧中的数据进行分组。“key”参数表示数据分组所依据的一个或多个列。...生成的数据帧显示每个学生的平均分数。...Python 提供了几种方法来实现这一点,包括 pandas groupby() 函数、collections 模块中的 defaultdict 和 itertools 模块中的 groupby() 函数

23230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    14个pandas神操作,手把手教你写代码

    作为Python的三方库,Pandas是建构在Python的基础上的,它封装了一些复杂的代码实现过程,我们只要调用它的方法就能轻松实现我们的需求。...Pandas的命名跟熊猫无关,而是来自计量经济学中的术语“面板数据”(Panel data)。面板数据是一种数据集的结构类型,具有横截面和时间序列两个维度。...; 数据的转置,如行转列、列转行变更处理; 连接数据库,直接用SQL查询数据并进行处理; 对时序数据进行分组采样,如按季、按月、按工作小时,也可以自定义周期,如工作日; 窗口计算,移动窗口统计、日期移动等...(['team', 'Q1'], ascending=[True, False]) # team升序,Q1降序 9、分组聚合 我们可以实现类似SQL的groupby那样的数据透视功能: df.groupby...('team').sum() # 按团队分组对应列相加 df.groupby('team').mean() # 按团队分组对应列求平均 # 不同列不同的计算方法 df.groupby('team'

    3.4K20

    Pandas库

    使用apply()函数对每一行或每一列应用自定义函数。 使用groupby()和transform()进行分组操作和计算。...使用resample方法可以方便地实现这一操作。 移动平均( Rolling Average) : 移动平均是一种常用的平滑时间序列数据的方法,通过计算滑动窗口内的平均值来减少噪声。...Pandas中的rolling方法可以轻松实现移动平均,并且可以通过设置不同的参数来调整窗口大小和权重。...指数加权移动平均(Exponential Weighted Moving Average, EWMA) : 指数加权移动平均是一种比普通移动平均更为灵活的平滑方法,它赋予最近的数据更高的权重。...在某些情况下,可能需要自定义聚合函数。可以使用apply()函数实现复杂的聚合操作。

    8510

    疑车无据:大熊猫何时交配才能怀上宝宝?四川学者用音频AI给出预测

    他们在自己的研究中以人工方式定义了 5 种不同的大熊猫叫声,并基于人工设计的声学特征使用聚类方法对叫声数据进行了分组。...最后,在经过归一化的音频段(2 秒)的 86 帧中的每一帧上提取其梅尔频率倒谱系数(MFCC),并将其用作深度网络的输入。...然后按如下方式对帧上的这些概率值求和: ? 如果 P_s > P_f,则预测发出输入音频段的叫声的大熊猫能成功交配,反之则预测结果为交配失败。 实验 ?...图 3:由注意模块为交配成功(带圆圈的紫色线)和失败(带三角形的红色线)而计算得到的 86 个采样帧上的平均权重 ?...图 4:由(a)原始 MFCC 特征和(b)新提出的 CGANet 学习到的特征所定义的特征空间的可视化 基于预测结果,大熊猫繁育者可以在第一时间采取合适的后续步骤,从而助力实现更智能化的大熊猫繁育。

    2.7K20

    全面对标Sora!中国首个Sora级视频大模型Vidu亮相

    此外,Vidu采用的是“一步到位”的生成方式,与Sora一样,文本到视频的转换是直接且连续的,在底层算法实现上是基于单一模型完全端到端生成,不涉及中间的插帧和其他多步骤的处理。...通常的视频大模型,会先生成关键帧,再通过插帧的方式将多个关键帧连成视频的做法实现,本质上是在大模型图片生成基础上做的优化;更进一步的视频大模型,会提取画面中的关键信息,按照关键信息的联系,逐帧生成连续的画面内容...在插帧的步骤中,模型不知道两帧之间的内容如何连接,只是采用了类似于PPT中“平滑”的效果将线条和内容进行移动。...其他国产视频大模型生成的画面“动画感”较强,以动物类模型,用“一个培养皿,里面长着一片竹林,里面有小熊猫在跑来跑去”作为关键词生成视频[4],可以看到字节和腾讯的大模型生成的视频中,小熊猫和环境的动画风格强烈...而Vidu采用的融合架构——U-ViT就是在Diffusion Models中,用Transformer替换常用的U-Net卷积网络,将 Transformer 的可扩展性与 Diffusion 模型处理视觉数据的天然优势进行融合

    50610

    Pandas 数据分析技巧与诀窍

    2 数据帧操作 在本节中,我将展示一些关于Pandas数据帧的常见问题的提示。 注意:有些方法不直接修改数据帧,而是返回所需的数据帧。.../id与之交互的属性的平均数,该怎么办?...让我用一个例子来演示如何做到这一点。我们有用户用分数解决不同问题的历史,我们想知道每个用户的平均分数。找到这一点的方法也相对简单。...groupbyExample = data.groupby(‘user_id’)[‘scores’].mean() 3 结论 因此,到目前为止,您应该能够创建一个数据帧,并用随机数据填充它来进行实验...这些数据将为您节省查找自定义数据集的麻烦。 此外,数据可以是任何首选大小,可以覆盖许多数据类型。此外,您还可以使用上述的一些技巧来更加熟悉Pandas,并了解它是多么强大的一种工具。

    11.5K40

    30 个 Python 函数,加速你的数据分析处理速度!

    12.Groupby 函数 Pandas Groupby 函数是一个多功能且易于使用的功能,可帮助获取数据概述。它使浏览数据集和揭示变量之间的基本关系更加容易。 我们将做几个组比函数的示例。...让我们从简单的开始。以下代码将基于 Geography、Gender 组合对行进行分组,然后给出每个组的平均流失率。...df[['Geography','Gender','Exited']].groupby(['Geography','Gender']).mean() 13.Groupby与聚合函数结合 agg 函数允许在组上应用多个聚合函数...df['Geography'] = df['Geography'].astype('category') 24.替换值 替换函数可用于替换数据帧中的值。...30.设置数据帧样式 我们可以通过使用返回 Style 对象的 Style 属性来实现此目的,它提供了许多用于格式化和显示数据框的选项。例如,我们可以突出显示最小值或最大值。

    9.4K60

    Python时间序列分析简介(2)

    使用Pandas进行时间重采样 考虑将重采样为 groupby() ,在此我们可以基于任何列进行分组,然后应用聚合函数来检查结果。...我们重新采样时间序列索引的一些重要规则是: M =月末 A =年终 MS =月开始 AS =年开始 让我们将其应用于我们的数据集。 假设我们要在每年年初计算运输的平均值。...在这里,我们基于每年的开始(请记住“ AS”的功能)对索引进行了重新采样,然后在其中应用了 均值 函数,现在我们有了每年年初的均值。 我们甚至可以在resample中使用我们自己的自定义函数 。...假设我们要使用自定义函数来计算每年的总和。我们可以按照以下步骤进行操作。 ? 然后我们可以通过重新采样来应用它,如下所示。 ? 我们可以通过下面代码完成,它们是等价的。 ? ?...在这里,我们可以看到随时间变化的制造品装运的价值。请注意,熊猫对我们的x轴(时间序列索引)的处理效果很好。 我们可以通过 在图上使用.set添加标题和y标签来进一步对其进行修改 。 ?

    3.4K20

    电商用户复购实战:图解 pandas 的移动函数 shift

    axis=0表示index,横轴;axis=1表示columns,纵轴 fill_value:表示当我们数据发生了移动之后,产生的缺失值用什么数据填充。...如果是数值型的缺失值,用np.nan;如果是时间类型的缺失值,用NaT(not a time) 模拟数据 模拟了两份数据,其中一份和时间相关。...在这里我们结合一个电商销售数据来感受下shift函数的使用。我们有一份客户和购买时间的数据,现在想统计每位用户在今年的平均复购周期和全部用户的平均复购周期。...那么张三的平均复购周期:(6+3+8+10)/ 4 = 6.75 2、模拟数据 模拟了一份电商数据,多位用户购买了一次或者多次: 下面通过Pandas来求解每位用户的平均复购周期和全部的平均复购周期...df3 6、根据每位复购用户的数据移动一个单位 在行方向上移动一个单位: df4 = df3.groupby("姓名").shift(1).rename(columns={"时间":"时间1"})

    1.9K20

    Pandas 秘籍:6~11

    它们(通常)是使用哈希表实现的,当从数据帧中选择行或列时,哈希表的访问速度非常快。 当使用哈希表实现它们时,索引对象的值必须是不可变的,例如字符串,整数或元组,就像 Python 字典中的键一样。...在熊猫中,视图不是新对象,而只是对另一个对象的引用,通常是数据帧的某些子集。 此共享对象可能导致许多问题。...在此示例中,我们使用日期偏移字符串90D进行 90 天移动平均。...Jupyter 笔记本当前仅允许将一个数据帧显示在一行上。 但是,有一种方法可以在IPython库的帮助下自定义 HTML 输出。...一个非常类似的名为pd.TimeGrouper的对象能够按照与pd.Grouper完全相同的方式按时间进行分组,但是从熊猫 0.21 版本开始,它已被弃用,不应使用。

    34K10

    Pandas中groupby的这些用法你都知道吗?

    导读 pandas作为Python数据分析的瑞士军刀,集成了大量实用的功能接口,基本可以实现数据分析一站式处理。...),执行更为丰富的聚合功能,常用列表、字典等形式作为参数 例如需要对如上数据表中两门课程分别统计平均分和最低分,则可用列表形式传参如下: ?...apply,除了agg丰富的可选聚合函数外,apply还可以自定义面向分组的聚合函数 这里apply函数实际上是一个应用非常广泛的转换函数,例如面向series对象,apply函数的处理粒度是series...例如,想对比个人成绩与班级平均分,则如下操作会是首选: ? 当然,这一操作也可以通过mean聚合+merge连接实现: ? 实际上,pandas中几乎所有需求都存在不止一种实现方式!...需统计每15天的平均分数,用resample可实现如下: ? 当然,这是直接用了聚合函数,更复杂的例如agg、apply和transform等用法也是一样的。

    4.3K40

    Pandas光速入门-一文掌握数据操作

    文章目录 简介 安装 数据结构 数据读写 数据运算 数据清洗 数据可视化 简介 ---- Pandas是Python的一个强大的数据分析库,是基于NumPy开发的。...对了,与Python取自蟒蛇不同,Pandas取自Panel Data & Python Data Analysis(面板数据与Python 数据分析),而不是熊猫(doge)。...": "点赞", "b": "收藏", "c": "评论"} var2 = pd.Series(data2) # 等价于使用key-value数据 print(var2["b"]) 更多属性和方法可以用的时候查阅文档...(['B']).sum()) print(df2.groupby(['B'], dropna=False).sum()) 数据清洗 ---- 数据清洗是对一些无用的数据进行处理,以免影响实验结果,比如空值...空值 对于空值,我们可以使用dropna()函数进行删除,或者使用fillna()函数对空值进行填充,比如可以填充平均数mean()、中位数median()、众数mode()或自定义等。

    2K40

    Pandas进阶|数据透视表与逆透视

    使用车辆数据集统计不同性别司机的平均年龄,聚合后用二维切片可以输出DataFrame数据框。...根据 GroupBy 的操作流程,我们也许能够实现想要的结果:将司机种族('driver_race')与司机性别('driver_gender')分组,然后选择司机年龄('driver_age')列,应用均值...同样是上面的需求,同时观察不同司机性别与司机种族的平均年龄 ,用pivot_table实现透视表。...行索引和列索引都可以再设置为多层,不过行索引和列索引在本质上是一样的,大家需要根据实际情况合理布局。...自定义列名名称,设置由 'value_vars' 组成的新的 column name value_name 自定义列名名称,设置由 'value_vars' 的数据组成的新的 column name

    4.3K11

    深兰科技:动作识别 | 人体骨架时空图卷积网络的可学习边与权

    因此,滤波器权重在输入图像上的所有位置共享。而通过在p(x)中编码矩形网格,可以实现图像域上的标准卷积,在(Dai et al.2017)中找到该构思的更详细的说明和其他应用。 ?...其中ri是训练集中所有帧上,重心(Gravity Center)到关节i的平均距离。 三种划分策略的可视化效果如【图四】所示。团队将基于骨架的动作识别实验,对所提出的划分策略进行实证研究。...由于ST-GCN在不同节点上共享权重,因此在不同关节上保持输入数据的大小一致很重要。在团队的实验中,首先填喂输入骨架到批处理规范化层以规范化数据。...为避免过度拟合,在Kinetics数据集上进行训练时,团队执行两种扩充来替换dropout层(Kay等人2017)。 首先,为了模拟摄像机的运动,团队对所有帧的骨架序列执行随机仿射变换。...此变换被插入到中间帧中以产生一种效果,就好像团队在回放过程中平滑地移动视点一样。团队称这种增强为随机移动。其次,团队在训练中从原始骨架序列中随机抽取片段(fragments),并在测试中使用所有帧。

    89520

    如何快速的开发一个完整的直播购物源码,基础篇

    app都是利用GPUImage这个框架实现的,. ***** 视频处理框架 ***** GPUImage : GPUImage是一个基于OpenGL ES的一个强大的图像/视频处理框架,封装好了各种滤镜同时也可以编写自定义的滤镜...(Temporal compression),它通过比较时间轴上不同帧之间的数据进行压缩。...均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。 这种群集技术可以用最少的投资获得接近于大型主机的性能。...这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。 实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。...五、如何快速的开发一个完整的iOS直播app 1、利用第三方直播SDK快速的开发 七牛云:七牛直播云是专为直播平台打造的全球化直播流服务和一站式实现SDK端到端直播场景的企业级直播云服务平台. * 熊猫

    1.4K20

    数据清洗 Chapter05 | 数据分组与数据不平衡

    一、数据分组 数据分组时数据分析过程中的一个重要环节 eg: 对大学生成绩数据求平均,查看大学生的平均水平 对不同专业的学生进行分组,分别计算不同专业学生成绩的平均值 使用Pandas库中的...groupby()函数,对数据进行分组 1、groupby 1、根据sex进行分组,计算tip列的平均值 import pandas as pd import seaborn as sns tips...2、根据sex和time同时进行分组,计算tip列的平均值 means = df['tip'].groupby([df['sex'],df['time']]).mean() ?...二、数据不平衡 考虑数据集不均衡,关注数据集的类别所属问题 对于分类问题,在本身观测记录X的基础上,数据集还会添加一列字段数据y,表示观测记录的类别,那么该标注数据集表示为(x,y) 非标注数据集适用于聚类问题...阈值移动 再Logistic回归分类问题中,针对每一个要分类的数据记录,使用Simgod函数作为激励函数,输出一个对应的数值y,作为判定类别的概率 在阈值移动方法中,预先设定阈值a 如果y

    1.2K10

    5分钟掌握Pandas GroupBy

    数据分析本质上就是用数据寻找问题的答案。当我们对一组数据执行某种计算或计算统计信息时,通常对整个数据集进行统计是不够的。...在本文中,我将简要介绍GroupBy函数,并提供这个工具的核心特性的代码示例。 数据 在整个教程中,我将使用在openml.org网站上称为“ credit-g”的数据集。...在这里,我计算了credit_amount的最小和最大金额以及每种工作类型的平均年龄。...自定义聚合 也可以将自定义功能应用于groupby对聚合进行自定义的扩展。 例如,如果我们要计算每种工作类型的不良贷款的百分比,我们可以使用下面的代码。...总结 pandas GroupBy函数是一个工具,作为数据科学家,我几乎每天都会使用它来进行探索性数据分析。本文是该功能基本用法的简短教程,但是可以使用许多更强大的方法来分析数据。

    2.2K20
    领券