python - 在 groupby 和 reindex 之后前向填充特定列
问题描述
我想用该组中的“id”填充一个特定列,即“id”列,并在应用分组重新索引后用 0 向前填充其他列。
我当前使用 0 填充所有缺失值的版本如下所示:
def reindex_by_date(df):
bd = pd.bdate_range('2000-12-18', '2020-12-31')
return df.reindex(bd)
test.groupby('id').apply(reindex_by_date).reset_index(0, drop=True)
但我无法在该组中用 id 填充“id”
解决方案
我找到了解决方案。发布所以也许它会帮助别人:
def reindex_by_date(df):
df = df.reindex(pd.bdate_range('2000-12-18', '2020-12-31'))
df['id']=df['id'].ffill().bfill()
df['weight'] = df['weight'].fillna(0)
df['return'] = df['return'].fillna(0)
return (df)
test_new= test.groupby('id').apply(reindex_by_date).rename_axis(('id','date')).drop('id',1).reset_index()
推荐阅读
- cuda - 将单个浮点值更新到 GPU 以在 CUDA 内核中访问它的最快方法是什么?
- python - 稍后使用 pack 时 grid_forget() 仍然会导致错误
- listview - 如何从 Flutter 中的 Rest API 生成动态扩展磁贴列表?
- angular - 为什么实体不接受我的界面?
- java - JAVAFX:在控制器之间传递数据
- javascript - 使用 Reactjs 作为表单的优点?
- python - 有没有办法在不复制粘贴的情况下重新排列excel数据?
- javascript - Slack 交互消息获取返回的 response_url 的 invalid_payload
- common-lisp - LTK Scrolled Frame 滚动条未调整大小
- .htaccess - 使用 htaccess 将下载链接从多个子域重定向到另一个