python - 如果提取 nan 值,则重复 .shift()
问题描述
我想了解 shift() 返回 nan 值时的作用。
示例 df:
index a b
1 2 3
2 3 3
3 nan nan
4 8 7
如果我输入:
for i in range(2,5)
df["a"] = np.where((df.index==i), df.b * df.a.shift(1), df.a)
我猜(但不确定)它会返回:
index a b
1 2 3
2 6 3
3 nan nan
4 8 7
有没有一种简单的方法可以返回:
index a b
1 2 3
2 6 3
3 nan nan
4 42 7
将“a”列第 4 行中的 42 计算为 6*7(“a”列第 2 行乘以“b”列第 4 行)我想要的是,如果使用 shift(1) 提取的值是 nan,则函数取上一行的值,就好像我输入了 shift(2)。如果此单元格中再次出现 nan 值,则应取上面单元格中的值,就好像我键入了 shift(3) 等等。
解决方案
推荐阅读
- html - 表格内的表格 HTML
- javascript - 搜索页码 - Google 自定义搜索 API
- sql-server - 如何按升序将 NULL 放在最后
- linux - docker build 无法连接到 http 服务器,即使它可以在命令行上访问
- spring-mvc - 使用 LDAP 和组成员身份的 Spring 安全性
- android - 使用 Firebase 的推荐系统
- reactjs - 您如何称呼酶中的外部功能?
- java - 如何在Java中制作json对象
- java - 基于Java中的给定模式对字符串数组进行排序
- python-3.x - 单击使用烧瓶提交后,如何将文件保存在不同的目录中?