python - 如何在python中获取填充缺失值的排序值列表?
问题描述
给定一个商品清单:并给定一个带有某些
goodlist = ['bread', 'water', 'salt', 'saffron', 'mustard']
商品
值的 pandas 数据框:
我想返回一个包含所有商品数量的数组:
new_qty = pd.DataFrame(zip(['water', 'saffron'], [42, 1.5]), columns = [ 'good', 'qty'])
expected = [ 0.0, 42.0, 0.0, 1.5, 0.0 ]
使用此数据的函数知道 goodlist,因此顺序必须正确。
我可以用 for 循环解决这个问题,但我很确定 python 有更好的工具来做到这一点,最好是 numpy 或 tensorflow 的东西......这段代码会被调用很多,所以速度也很重要。
如果有人可以请在此限制内提出解决方案?
解决方案
尝试reindex
l = new_qty.set_index('good')['qty'].reindex(goodlist,fill_value=0).tolist()
Out[700]: [0.0, 42.0, 0.0, 1.5, 0.0]
推荐阅读
- flutter - hls 视频的 Flutter 视频播放器质量控制
- sql - 无法使用 LAG 功能
- php - 将 post_content 与 wordpress 中的数据进行比较
- java - 在 IBM MQ 中创建队列(docker compose)
- javascript - MUI 响应式选项卡
- python - 我可以在 python 中按周绘制条形图吗?
- r - 引用 R 中未引用的文本
- ssms - 如何通过文件路径将databricks SQL笔记本连接到镶木地板文件
- javascript - .map() 中的 React 组件抛出错误:TypeError: notes.map is not a function
- selenium - 应用等待按钮更改为文本,然后再次将文本更改为硒中的按钮