Python Pandas iterrows() 与先前的值

2023-11-27

我有一个以下形式的 pandas Dataframe:

            A           B       K      S
2012-03-31  NaN         NaN     NaN    10
2012-04-30  62.74449    15.2    71.64   0
2012-05-31  2029.487    168.8   71.64   0
2012-06-30  170.7191    30.4    71.64   0

我尝试创建一个使用 df['S'][index-1] 值替换 df['S'] 的函数。

例如:

for index,row in df.iterrows:
     if index = 1: 
         pass
     else:
         df['S'] = min(df['A'] + df['S'][index-1]?? - df['B'], df['K'])

但我不知道如何获取 df['S'][index - 1]


看来您最初的答案非常接近。

以下应该有效:

for index, row in df.iterrows():
    if df.loc[index, 'S'] != 0:
        df.loc[index, 'S'] = df.loc[str(int(index) - 1), 'S']

本质上,对于除第一个索引(即 0)之外的所有索引,将“S”列中的值更改为其之前行中的值。注意:这假设数据帧具有连续的、有序的索引。

The iterrows()方法不允许您通过单独调用行来修改值,因此您需要使用df.loc()识别数据框中的单元格,然后更改其值。

另外值得注意的是index不是整数,因此使用int()函数减去 1。这都在str()函数的最终索引输出是一个字符串,如预期的那样。

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

Python Pandas iterrows() 与先前的值 的相关文章

随机推荐

  • .htaccess 拒绝所有人不起作用

    我的问题是我想拒绝对文件夹的访问 但我不能 我已经放了一个 htaccess此文件夹中的文件仅包含以下几行 order deny allow deny from all 知道会发生什么吗 我得到它 这是由于 apache 配置造成的 在我的
  • 解决日期时间许可证问题的最佳方法[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 目前我们正在开发一个基于 Windows 的小型应用程序 我们曾经提供为期30天的试用版许可证 30天到期后 该产品将无法使用 现在这是我的问题 想象一下 客户于 1 月 1 日
  • Codeigniter - 会话过期和“记住我”功能

    我正在 Codeigniter 中构建 记住我 功能 通常我会看到库 项目使用令牌在用户上设置 cookie 该令牌会保存在数据库中 并在用户每次访问网站时进行比较 在 Codeigniter 中 我们可以设置会话过期时间 这导致我尝试不同
  • 为什么 System.arraycopy 是 Java 原生的?

    我很惊讶地在 Java 源代码中看到 System arraycopy 是一个本机方法 当然原因是因为它更快 但是代码能够使用哪些本地技巧来使其速度更快呢 为什么不直接循环原始数组并将每个指针复制到新数组 当然这不是那么慢和麻烦 在本机代码
  • Firebase 管理多个身份验证提供商

    我正在开发 Android 应用程序 该应用程序在 Facebook Google 和电子邮件 密码等 Firebase 的帮助下使用多重身份验证 每个身份验证都以不同的方式运作良好 但是 当我使用 google 登录然后注销时 以及稍后当
  • 使用 python 定义 chromedriver selenium 的下载目录

    一切都在标题中 有没有办法定义与 python 一起使用的 selenium chromedriver 的下载目录 尽管进行了很多研究 但我还没有找到结论性的东西 作为一个新手 我已经看到了很多关于 Chromedriver 的 所需功能
  • WPF TabControl 在 SelectionChanged 上,将焦点设置到文本字段

    我有一个选项卡控件和一些选项卡项 我正在成功收听SelectionChanged事件 并检查我感兴趣的选项卡是否是当前选定的选项卡 我正在使用这段代码 如下 并单步执行调试器 我可以看到我的分支逻辑按设计工作 但是 我遇到的问题是有些东西覆
  • ElasticSearch Java 客户端查询嵌套对象

    我如何转换这种查询 query nested path consultations query bool must match consultations prescriptions alfuorism match consultation
  • 在列表视图中滚动地图时如何避免滚动列表视图

    我有一个 ListView 在其顶部有一个地图 我希望当 ListView 滚动时地图滚动到视图之外 但我也希望用户能够与地图交互 因此 滚动应该仅在用户在其他 ListView 小部件上滚动时发生 而不是在他们在地图上滚动时发生 然后我希
  • 如何在运行时将字符串转换为代码

    我正在生成包含的字符串if else表达式 我想知道我是否可以在运行时执行这个表达式 这是一个例子 string s if x gt 10 Fly true else Fly False Execute s 有可能做到这一点吗 可以使用TC
  • Spring MVC 3 中的 Restful 路径参数

    是否可以 在 servlet xml 文件的 mvc view controller 元素或控制器方法中设置 URI 模板 然后使用 获取该路径参数in a jsp 我知道在控制器方法中使用 PathVariable 将使我能够访问路径参数
  • 事件的异常处理

    如果这是一个简单的问题 我深表歉意 我的 Google Fu 今天可能很糟糕 想象一下这个 WinForms 应用程序 它具有这种类型的设计 主应用程序 gt 显示一个对话框 gt 第一个对话框可以显示另一个对话框 两个对话框都有确定 取消
  • 什么是符号表?

    有人可以描述一下 C 和 C 上下文中的符号表是什么吗 这里的符号表有两个常见且相关的含义 首先 目标文件中有符号表 通常 C 或 C 编译器将单个源文件编译为扩展名为 obj 或 o 的目标文件 它包含链接器可以将其处理为工作应用程序或共
  • 通过 JSONP 访问 Cookie

    我有一个页面domain com发出 JSONP ajax 请求 使用 jQuery 的 getJSON 函数 到 URL 中anotherdomain com 我认为 阅读 假设 资源anotherdomain com可以在服务器端访问该
  • Drive API共享RateLimitExceeded错误

    我们有一个应用程序 可以使用 Drive API 管理 Google Drive 文件和文件夹的共享权限 当我们的应用程序尝试更新某些文件或文件夹的共享设置时 我们会收到 sharingRateLimitExceeded 错误 Caused
  • CSS/JavaScript 中的多列垂直滚动

    目前 有没有办法在 CSS 或 CSS with JavaScript 中进行多列滚动 为了描述我的意思 我在 jsfiddle 上设置了一个快速演示 http jsfiddle net S7AGp 当 div 中有太多文本时 我希望能够垂
  • MySQL SELECT DISTINCT 多列

    假设我有专栏a b c d在 MySQL 数据库的表中 我想要做的是选择表中所有这 4 列的不同值 仅选择不同值 我尝试过类似的东西 SELECT DISTINCT a b c d FROM my table SELECT DISTINCT
  • Spring 5 WebFlux 中的拦截器

    我在用Spring WebFlux在我的项目中 我想创建一个拦截器来计算每个 API 所花费的时间 在Spring MVC我们有HandlerInterceptor不存在于spring boot starter webflux 我尝试添加s
  • 共享服务器上 PersistKeysToFileSystem 的文件路径

    我正在尝试让登录的用户保留我的密钥 由于我当前正在使用网站的共享托管 因此我决定使用文件系统来存储密钥环 所以代码看起来像这样 services AddDataProtection PersistKeysToFileSystem new D
  • Python Pandas iterrows() 与先前的值

    我有一个以下形式的 pandas Dataframe A B K S 2012 03 31 NaN NaN NaN 10 2012 04 30 62 74449 15 2 71 64 0 2012 05 31 2029 487 168 8