python - 如何用列中不存在的值的行填充pandas df,然后向后填充na?
问题描述
我有以下熊猫数据框:
import pandas as pd
foo = pd.DataFrame({'week': [1,2,4,5,7], 'items':[1,2,3,4,5]}
我想从 to 填充foo
“缺失”周的1
行7
,然后对于这些行,该items
列应该具有前一个非 na 值
输出数据框应如下所示:
foo = pd.DataFrame({'week': [1,2,3,4,5,6,7], 'items':[1,2,2,3,4,4,5]}
我怎么能那样做?
解决方案
可以用set_index()
method、reindex()
method、ffill()
method 、method来试试reset_index()
:
resultdf=foo.set_index('week').reindex(range(1,8)).ffill().reset_index()
现在,如果您打印resultdf
,您将获得:
week items
0 1 1.0
1 2 2.0
2 3 2.0
3 4 3.0
4 5 4.0
5 6 4.0
6 7 5.0
现在,如果您想要项目值,int
那么您可以使用astype()
方法:
resultdf['items']=resultdf['items'].astype(int)
推荐阅读
- node.js - 将 EJS 编译为静态文件指南?
- excel - 同一张表中两列的依赖下拉列表
- javascript - 如何使用 eslint 规则限制从同级目录的导入?
- azure-data-factory - ADF 管道和 ADF 数据流有什么区别?
- regex - 为什么 SPARQL regex() 函数忽略“q”标志?
- spring - 将 DTO 映射到现有实体,它正在创建新实体
- mysql - Hashicorp Vault Database Secret Engine - 跟踪 Vault 生成的动态用户
- javascript - Javascript生成的按钮无法识别,直到右键单击
- laravel - Laravel:验证不是在表的行上找到的特定列值
- python-3.x - 使用python从棘手的文本文件中解析数据-如何将所有相关数据放在一行