问题标签 [ffill]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Groupby 并使用 Python 中的前向填充以 1 分钟的频率重新采样
我想以按列分组的频率data
使用前向填充对列进行重新采样:ffill
1min
df
id
df
:
预期输出:
类似这篇文章的东西,但我试过了:
并且data
列仅返回NaN
值:
编辑:
- 第二行
df
timestamp
从2017-01-02 12:04:43.240
变为2017-01-02 16:04:43.240
,即属于同一行的行id
应该被排序。 - 我误认为预期输出中的第二个是最小的,但@jezrael 的答案是正确的。
python - 根据最后一个值填充缺失值
我想根据每个 Id 的最后一个值填充缺失值
例如,我想要这个数据场
成为
数据:
python - 在python中填充空单元格(从excel导入数据集)
我有一个数据集,我想在 python 中填充列和行,如下所示:
数据集:
预期结果:
我已经使用 fillna() 填充了 P 列,但不能对 Q 列执行相同的操作,因为需要为密钥对填充值。
有人可以帮忙吗?
python - 在 groupby 和 reindex 之后前向填充特定列
我想用该组中的“id”填充一个特定列,即“id”列,并在应用分组重新索引后用 0 向前填充其他列。
我当前使用 0 填充所有缺失值的版本如下所示:
但我无法在该组中用 id 填充“id”
python - Python df 按日期添加行,因此每个组在同一日期结束。填充剩余的行
要使用地理绘图动画帧,我希望我的所有组都在同一日期结束。这将避免最后一帧使某些国家变灰。目前,根据日期的最新数据点是'Timestamp('2021-05-13 00:00:00')'。
因此,在下一步中,我想根据所有国家/地区添加新行,以便它们在 df 中的最新日期之前拥有行。可以使用 ffill 填充列“people_vaccinated_per_hundred”和“people_fully_vaccinated_per_hundred”。
所以理想情况下,如果挪威比最新数据点“2021-05-13”少 1 天,那么它应该添加一个新行,如下所示。这应该对 df 中的所有其他国家/地区进行。
例子
python - 使用“填充”填充缺失的数据
我有以下数据
我希望它看起来像下面这样:
所以它使用下面的日期来填写缺失的数据。我尝试了以下代码:
但是,这会导致获取上述数据并获得以下结果:
这与我需要的输出不匹配。
python - 仅向前填充某个值
我有一个表示对象状态的数组,其中 0 - 对象关闭,1 - 对象打开。
我只需要转发其中的 0 值,如下所示。
在这里浏览了类似的问题后,我只是比较了ffill
-ed 和bfill
-ed 的值并用掩码赋值:
但是,如果任何 0 值后面不跟 1,这将无济于事。考虑到这种情况,还有什么更优雅的解决方案?
python - 参考 ID 列向前填充
假设我有一个如下数据框:
我想前向填充列Total Marks
,Previous Marks
以便对于特定Roll No
的空值被它们之前出现的值替换。
例如,在Total Marks
列中,Roll No 1001 的值是595
2005 年、NaN
2006 年、597
2007 年和NaN
2008 年的值。我希望将 2006 年 1001 的空值替换为其先前填充的分数(即 2005 年的分数),将 2007 年的空值替换为 2008 年的分数。如果没有找到之前的值,则将其设为NaN
。列应用相同的逻辑Previous Marks
。
以上述格式前向填充后,我的最终数据帧应如下所示:
我在 StackOverflow、GeeksForGeeks 和 pandas 文档中也为 pandasffil()
函数提到了几个解决方案,但没有太大帮助。有什么想法可以实现吗?
pandas-groupby - 防止 Pandas groupby.ffill 创建新列和展平 MultiIndex 列
对于 Pandas 0.24 或更高版本,我看到以下令人讨厌的非向后兼容行为groupby.ffill
. 基本上,如果您将其应用于具有 MultiIndex 索引和 MultiIndex 列的 DataFrame,将会有
- 对应于
groupby
参数创建的新列(GROUP
下面示例中的列),以及 - 列展平为元组。(
(NAME, Jane)
在下面的例子中)
具有所需输出的 Pandas 0.21 或更低版本都不会出现问题:
为了帮助重现该案例,您可以使用以下代码创建原始代码df
:
我试图设置as_index=False
在groupby()
. 它不会改变输出。
所以问题是如何使用 Pandas 0.24 或更高版本获得所需的输出?
python - 根据 Python 中特定列的值替换缺失值
我想根据已提交列的值替换缺失值。
在下面找到我所拥有的:
年 | 国家 | 已提交 | 年龄12 | 年龄14 |
---|---|---|---|---|
2018 | 气 | 1 | 267 | 钠 |
2019 | 气 | 钠 | 钠 | 钠 |
2020 | 气 | 1 | 244 | 203 |
2018 | ALB | 1 | 163 | 165 |
2019 | ALB | 1 | 钠 | 钠 |
2020 | ALB | 1 | 161 | 钠 |
2018 | GER | 1 | 451 | 381 |
2019 | GER | 钠 | 钠 | 钠 |
2020 | GER | 1 | 361 | 321 |
这是我想要的:
年 | 国家 | 已提交 | 年龄12 | 年龄14 |
---|---|---|---|---|
2018 | 气 | 1 | 267 | 钠 |
2019 | 气 | 钠 | 267 | 钠 |
2020 | 气 | 1 | 244 | 203 |
2018 | ALB | 1 | 163 | 165 |
2019 | ALB | 1 | 钠 | 钠 |
2020 | ALB | 1 | 161 | 钠 |
2018 | GER | 1 | 451 | 381 |
2019 | GER | 钠 | 451 | 381 |
2020 | GER | 1 | 361 | 321 |
我尝试使用命令 df.fillna(axis=0, method='ffill') 但这将所有值 NaN 替换为之前的值,但这不是我想要的,因为如果“提交”列,某些值应保留为 NaN值为 1。
只有当相应的“提交”值为“NaN”时,我才想更改前一行的值。
谢谢