使用 pandas 循环数据帧的最有效方法是什么?

2024-02-05

我想按顺序对数据帧中的财务数据执行我自己的复杂操作。

例如,我使用以下 MSFT CSV 文件,取自雅虎财经 http://finance.yahoo.com/q/hp?s=MSFT:

Date,Open,High,Low,Close,Volume,Adj Close
2011-10-19,27.37,27.47,27.01,27.13,42880000,27.13
2011-10-18,26.94,27.40,26.80,27.31,52487900,27.31
2011-10-17,27.11,27.42,26.85,26.98,39433400,26.98
2011-10-14,27.31,27.50,27.02,27.27,50947700,27.27

....

然后我执行以下操作:

#!/usr/bin/env python
from pandas import *

df = read_csv('table.csv')

for i, row in enumerate(df.values):
    date = df.index[i]
    open, high, low, close, adjclose = row
    #now perform analysis on open/close based on date, etc..

这是最有效的方法吗?考虑到 pandas 对速度的关注,我认为必须有一些特殊的函数来以一种还检索索引的方式迭代这些值(可能通过生成器以提高内存效率)?df.iteritems不幸的是,只能逐列迭代。


最新版本的 pandas 现在包含一个用于迭代行的内置函数。

for index, row in df.iterrows():

    # do some logic here

或者,如果您想要更快地使用itertuples()

但是,unutbu 建议使用 numpy 函数来避免迭代行,这将产生最快的代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandas 循环数据帧的最有效方法是什么? 的相关文章

  • Python矩阵问题[重复]

    这个问题在这里已经有答案了 这是从这个线程继续的 Python矩阵 有什么解决方案吗 https stackoverflow com questions 5835583 python matrix any solution Input fr
  • 当类的任何属性被修改时,类如何运行某些函数?

    是否有一些通用方法可以让类在以下情况下运行函数 any它的属性被修改了吗 我想知道是否可以运行某些子进程来监视类的更改 但也许有一种方法可以继承class并修改一些on change函数是 Python 类的一部分 有点像默认的 repr
  • 为什么这些 Javascript for 循环在 Firefox 上比 Chrome / Safari 上慢得多?

    我在搞基准网站jfprefs http jsperf com 并创建了我自己的基准http jsperf com prefix or postfix increment 9 http jsperf com prefix or postfix
  • 如何实现带有 ([start ,] stop [ step]) 签名的 python 方法,即左侧的默认关键字参数

    由于在 python 3 X 中 build idrange 函数返回的不再是一个列表 而是一个可迭代的 一些旧代码在我使用时失败range 方便地生成我需要的列表 所以我尝试实现我自己的lrange像这样的函数 def lrange st
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • 经常访问 NSUserDefaults

    在我的应用程序的逻辑处理过程中 我需要频繁访问用户首选项 并多次访问 10 15 次 以确定需要处理什么以及如何处理 也许这个问题不是关于性能的问题 而是关于正确执行的问题 目前我正在做一个 NSUserDefaults standardU
  • 群组名称不能以数字开头?

    看来我不能使用像这样的正则表达式 P lt 74xxx gt 0 9 重新打包会引发错误 sre constants error bad character in group name u 74xxx 我似乎无法使用以数字开头的组名称 为什
  • 使用存储的密钥作为环境变量

    我有一个秘密密钥存储在 GCP 的秘密管理器中 我们的想法是使用该密钥通过云功能获取预算列表 现在 我可以从代码中访问该密钥 但我面临的问题是我需要使用该密钥设置一个环境变量 这是我添加密钥的方式 如果您的本地目录中有该文件 但是还有其他方
  • python中终止进程的跨平台方法

    当我尝试使用 subprocess Popen terminate 或 Kill 命令终止 Windows 中的进程时 出现访问被拒绝错误 如果文件不再存在 我真的需要一种跨平台的方式来终止进程 是的 我知道这不是做我正在做的事情的最优雅的
  • PHP 性能有多好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这是我最近看到的一篇文章的后续内容 该文章表明 PHP 性能很差 PHP 始终是瓶颈 我的服务器群 让我向您展示 PHP 整体性能 http t
  • 深度学习——一些关于caffe的幼稚问题

    我试图了解 caffe 的基础知识 特别是与 python 一起使用 我的理解是模型定义 比如给定的神经网络架构 必须包含在 prototxt file 当您使用数据训练模型时 prototxt 您将权重 模型参数保存到 caffemode
  • 如何更改Python中的全局变量[重复]

    这个问题在这里已经有答案了 我正在尝试更改程序中的变量 我在程序开始时声明了一个全局变量 我想在程序中的不同函数中更改该变量 我可以通过再次声明函数内的变量来做到这一点 但我想知道是否有更好的方法来做到这一点 下面是一些测试代码来解释我的意
  • 函数调用中的星号[重复]

    这个问题在这里已经有答案了 我正在使用 itertools chain 以这种方式 展平 列表列表 uniqueCrossTabs list itertools chain uniqueCrossTabs 这与说有什么不同 uniqueCr
  • 无法从 celery 信号连接到 celery 任务?

    我正在尝试连接task2 from task success signal from celery signals import task success from celery import Celery app Celery app t
  • 在IPython笔记本中自动播放声音

    我经常在 IPython 笔记本中运行长时间运行的单元 我希望笔记本在单元完成执行时自动发出蜂鸣声或播放声音 有没有办法在 iPython 笔记本中执行此操作 或者我可以在单元格末尾放置一些命令来自动播放声音 我正在使用 Chrome 如果
  • 为什么 foreach 这么慢?

    PHPBench com http www phpbench com 在每个页面加载上运行快速基准测试脚本 在 foreach 测试中 当我加载它时 foreach 的运行时间是第三个示例的 4 到 10 倍 为什么本机语言构造明显比执行逻
  • 无法使用 Python 3 编写的 gzip.open() 将压缩文件上传到云存储

    当我尝试在 Cloud Shell 实例上使用 python 脚本将压缩的 gzip 文件上传到云存储时 它总是上传一个空文件 这是重现错误的代码 import gzip from google cloud import storage s
  • 获取 TypeError:ord() 期望长度为 1 的字符串,但 int 发现错误 [重复]

    这个问题在这里已经有答案了 Code is from PyPDF2 import PdfFileReader with open HTTP Book pdf rb as file pdf PdfFileReader file pagedd
  • 计算列表中的子列表

    L 2 4 5 6 2 1 6 6 3 2 4 5 3 4 5 我想知道任意子序列出现了多少次 s 2 4 5 例如会返回2次 I tried L count s 但它不起作用 因为我认为它期望寻找类似的东西 random numbers
  • 使用 Python PuLP 混合整数规划的时间限制

    我一直在使用PuLP http pythonhosted org PuLP 解决我感兴趣的特定混合整数线性规划 MIP 但是 随着问题规模的增长 PuLP 花费的时间太长 我希望能够运行求解器一段时间 并在需要很长时间的情况下提前终止它 并

随机推荐

  • R:将 LIME 应用于 Quanteda 文本模型的问题

    这是我的修改版本上一个问题 https stackoverflow com q 50273919 6327771 我正在尝试在我的设备上运行 LIMEquanteda依赖的文本模型特朗普和克林顿推文数据 https www kaggle c
  • sed/awk + ​​regex 删除第一个字段匹配的重复行(ip 地址)

    我需要一个解决方案来删除第一个字段是 IPv4 地址的重复行 例如 我在文件中有以下行 192 168 0 1 text1 text2 192 168 0 18 text03 text7 192 168 0 15 sometext some
  • C# 和 SQL Server 2008 CLR 序列化问题

    我正在尝试创建一个SqlUserDefinedAggregate用 C 附加到我的 SQL Server 2008 实例 我正在使用 NET 3 5 基本上 我想计算看到字符串值的次数 由于用途 它确实需要是一个聚合函数 该函数的代码在逻辑
  • 数据框和子图中的日期错误

    我正在尝试在 csv 文件中绘制数据 目前 如果我要转换它 我的日期也不会在图中正确显示 如何更改它以显示 Y m d 定义的正确数据格式 第二个问题是 我目前正在一个图中绘制所有数据 但希望为每个 Valuegroup 绘制一个子图 我的
  • 如何在 Perl 中删除与特定模式匹配的行?

    我想做类似的事情sed在 Perl 中 即能够删除与特定模式匹配的行 鉴于此输入 abcd edfd abcd derder abcd erre 我想删除包含的行bc 我怎样才能做到这一点 我必须在 Windows 上使用双引号 perl
  • Python - 显示 csv 文件中具有重复值的行

    我有一个包含几列的 csv 文件 其中一列填充了随机数 我想在那里找到重复的值 如果有 奇怪的情况 但这毕竟是我想要检查的 我想显示 存储存储这些值的完整行 为了说清楚 我有这样的事情 第一 无论什么 230 无论什么 等等第二个 任意 1
  • HttpMediaTypeNotAcceptableException

    我的 jQuery 函数有问题 我想要实现的是在列表框中填充数据 JavaScript 函数 function load getJSON findAdminGroupsURL ajax true function data var html
  • FPS 极低,我应该使用什么分析应用程序来查找性能问题?

    我正在创建 XNA 游戏 但得到了意想不到的结果 FPS 极低 大约 2 12 fps 我应该使用什么程序来测试性能并找出导致性能下降的原因 你有没有尝试过使用SlimTune http code google com p slimtune
  • Android:在RelativeLayout的onTouchEvent中看不到ACTION_MOVE/UP

    我注册了一个相对布局的监听器 见下文 我想添加一些自定义事件处理 mOnTouchListener new OnTouchListener Override public boolean onTouch View view MotionEv
  • 如何删除在composer中保存的用户名和密码(laravel 4)

    我已经使用 Composer 更新了我的 Laravel 供应商 我购买了一个位于 github 私人仓库中的软件包 在下载作曲家询问用户名和密码时 我输入了错误的密码 因此出现错误 之后我再次运行composer update 但这次它只
  • React useEffect 清理函数意外调用

    我正在创建一个自定义挂钩来在表单提交时获取 api 我在 useEffect 挂钩内进行 api 调用 并且我有一个减速器来处理挂钩的状态 其中一个州是trigger首先设置为 false 来控制 useEffect 是否执行任何操作 重点
  • Spyder 不运行代码中的新更改

    我正在尝试使用 Spyder 3 2 4 通过 Anaconda 更新 Python 3 6 代码 但是当我对正在处理的代码进行更改并尝试运行它时 它将运行我启动会话的代码 有谁知道这个问题有什么解决办法吗 更改您正在处理的 py 目录 右
  • 窗口最小化时,页面可见性 API 在 Chrome OS X 上不起作用

    根据 Google 的文档 他们已经实现了 Page Visibility API https developers google com chrome whitepapers pagevisibility https developers
  • Android应用程序与三星和wiko的兼容性问题

    目前我的应用程序有一个小问题 在大多数设备上一切正常 但在某些三星和 wiko 上我收到此错误 java lang NoClassDefFoundError android support v7 internal view menu Men
  • 片段示例中的 Android ListView [重复]

    这个问题在这里已经有答案了 在哪里可以找到使用示例ListView in Fragment 我知道样本中有一个例子 但不幸的是我找不到它 也许你可以建议一些东西 你的 Fragment 可以子类化列表片段 http developer an
  • Ubuntu graphviz 'sfdp' 不工作

    我正在尝试做一些Networkx Graphviz graphs 运行后 pos nx graphviz layout G prog sfdp 发生错误 说 Error remove overlap Graphviz not built w
  • Flutter桌面支持自定义文件扩展名

    我在尝试着支持自定义文件扩展名和我的颤振桌面应用程序 我没有找到任何相关内容 因为我来自移动开发 所以我不知道如何做到这一点MacOS 和 Windows Linux 一旦达到稳定 你能帮助我吗 这就是我要的 您单击目录中的 abc 文件F
  • Mercurial:如何才能只看到合并引入的更改?

    我正在努力养成进行代码审查的习惯 但是合并使这个过程变得困难 因为我不知道如何要求 Mercurial 仅显示合并引入的更改 这些更改在其父级中都不存在 或者 稍微正式一点 感谢 Steve Losh 显示合并中在其父项中不存在的每个块 并
  • 如何使用 yocto 构建简单的 qt 应用程序?

    I have yocto开发环境设置 我可以在其中进行 bitbake 并在目标中运行一个简单的 C 应用程序 现在我想尝试使用简单的 Qt 应用程序 当我执行时bitbake layers 显示层它在列表中显示meta qt5 meta
  • 使用 pandas 循环数据帧的最有效方法是什么?

    我想按顺序对数据帧中的财务数据执行我自己的复杂操作 例如 我使用以下 MSFT CSV 文件 取自雅虎财经 http finance yahoo com q hp s MSFT Date Open High Low Close Volume