填充缺失的数据 pandas

2024-03-26

我如何填写此日期框中缺失的数据。

没有销售的日子里缺少值。如何填写在特定商店和日期售出 0 件商品的天数的缺失值?

Input

Dates            Store            Item        Sales           
2017-01-01       Chicago          Apple       10
2017-01-02       NewYork          Pear        10 
2017-01-03       Chicago          Apple       10

Output

Dates            Store            Item        Sales           
2017-01-01       Chicago          Apple       10
2017-01-01       Chicago          Pear        0
2017-01-02       Chicago          Apple       0
2017-01-02       Chicago          Pear        0
2017-01-03       Chicago          Apple       10
2017-01-03       Chicago          Pear        0    
2017-01-01       NewYork          Apple       0
2017-01-01       NewYork          Pear        0 
2017-01-02       NewYork          Apple       0 
2017-01-02       NewYork          Pear        10 
2017-01-03       NewYork          Apple       0 
2017-01-03       NewYork          Pear        0 

Use:

  • first set_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.set_index.html for Multiindex
  • 创建新的Multiindex from_product http://pandas.pydata.org/pandas-docs/stable/generated/pandas.MultiIndex.from_product.html
  • reindex http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html并添加0对于缺失值
  • 最后排序级别Store by sort_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html and reset_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reset_index.html

df = df.set_index(['Dates','Store','Item'])
mux = pd.MultiIndex.from_product(df.index.levels, names=df.index.names)
df = df.reindex(mux, fill_value=0).sort_index(level='Store').reset_index()
print (df)
        Dates    Store   Item  Sales
0  2017-01-01  Chicago  Apple     10
1  2017-01-01  Chicago   Pear      0
2  2017-01-02  Chicago  Apple      0
3  2017-01-02  Chicago   Pear      0
4  2017-01-03  Chicago  Apple     10
5  2017-01-03  Chicago   Pear      0
6  2017-01-01  NewYork  Apple      0
7  2017-01-01  NewYork   Pear      0
8  2017-01-02  NewYork  Apple      0
9  2017-01-02  NewYork   Pear     10
10 2017-01-03  NewYork  Apple      0
11 2017-01-03  NewYork   Pear      0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

填充缺失的数据 pandas 的相关文章

随机推荐

  • 使用 rc.local 运行脚本:脚本有效,但在启动时无效

    我有一个需要在启动时启动的 node js 脚本and在 www data 用户下运行 在开发过程中 我总是以以下方式开始脚本 su www data c node var www php jobs manager js 我确切地看到发生了
  • 如何冻结一个线程并从另一个线程通知它?

    我需要暂停 Rust 中的当前线程并从另一个线程通知它 在Java中我会写 synchronized myThread myThread wait 并从第二个线程 恢复主线程 synchronized myThread myThread n
  • 如何在android中使用“使用共享图像”共享Intent来共享图像?

    我有一个图像厨房应用程序 在该应用程序中 我将所有图像放入drawable hdpi 文件夹中 我在活动中调用图像如下 private Integer imageIDs R drawable wall1 R drawable wall2 R
  • 使用 Ajax 写入服务器文本文件

    我一直在努力使用 Ajax 编写服务器文本文件 如果有人花点时间看一下 我将非常感激 简单来说 为什么下面的代码不将 测试数据 写入test1 txt
  • 如何确定用户登录的提供商

    我在我的应用程序中使用多种 Firebase 登录方法 Facebook Google 电话等 但用户登录后 我无法确定使用哪个提供商进行登录 我在下面尝试过 非常接近推荐解决方案 https stackoverflow com quest
  • 路径中存在非法字符。将 Skip 和 Take 与 IEnumerable 一起使用时出错

    您好 我的控制器中有以下操作 AcceptVerbs HttpVerbs Post public ActionResult Index IEnumerable
  • IIS Express 上的基本身份验证

    我已经搜索了一段时间但似乎找不到答案 有多种方法可以禁用 启用匿名和 Windows 身份验证 有谁知道如何在 Visual Studio 2013 中的 IIS Express 8 0 上启用基本身份验证 Update Applicati
  • 将 JSON 对象反序列化为 .NET HashSet

    以下是原始 JSON 数据的示例 Standards 1 1 我想将数据反序列化为 public class Model public HashSet
  • java.lang.ClassCastException:java.io.ObjectStreamClass无法转换为java.lang.String

    我在 tomcat 上运行 Web 应用程序时遇到以下堆栈跟踪错误 无法找到此异常的根本原因 Eclipse 32 bit Luna Release 4 4 0 Tomcat 32 bit 8 0 30 jdk1 8 0 66 Jan 01
  • 为什么只有打开 Fiddler 才能在 ASP.NET 中调用 API?

    我在索引控制器中调用 API 就像这样 一切正常 只要我打开 Fiddler public ActionResult Index Base model null var client new HttpClient var task clie
  • 仅增加特定网页上的请求超时

    是否可以仅增加一个特定网页的请求超时 我正在开发 ASP Net 4 0 我需要一个特定页面具有更长的请求超时 因为它负责启动一个长时间运行的进程 谢谢 使用Web config
  • 如何让多个div水平滚动?

    我希望我的图块位于同一行 并且如果图块超出容器的宽度 容器可以水平滚动 看下面的演示 图块被添加到下一行 所以我必须垂直滚动才能访问它们 如何使水平滚动起作用 并使所有图块保持在同一行 container width 600px max h
  • 停止 Outlook、Gmail 等中的自动超链接

    我的网络应用程序向用户发送电子邮件 该电子邮件包含一个用于进一步用户操作的链接 我们的安全标准要求电子邮件中的链接不可点击 但是 电子邮件客户端会识别电子邮件中的 https 并自动链接 URL 关于如何阻止电子邮件客户端自动链接的任何想法
  • (Android) 在内部存储中查找路径 /Android

    Android 中有没有返回内部存储上的数据路径的方法 我有 2 部 Android 智能手机 三星 s2 和 s7 edge 我在其中安装了应用程序 我想获取位于此路径中的 sqliteDB Android data applicatio
  • 我应该使用堆栈进行长期变量存储吗?

    根据 汇编语言循序渐进 第3版 中的 Storage for Short Term 第8章 堆栈应该被视为短期存放东西的地方 存储在堆栈中的项目没有名称 通常必须按照放入的相反顺序从堆栈中取出 后进先出 记住 后进先出 然而 据我所知 C
  • Java libjava.so 文件错误

    自从我尝试在安装了 java5 jre 的服务器上运行 java 命令以来已经一天了 问题是我总是得到 错误 找不到 libjava so 错误 找不到 Java 2 运行时环境 即使我从安装目录 usr lib java1 5 jre b
  • “NULL”列 (0,3) 的数字溢出

    我有一个表 Oracle 12 1 0 2 0 当我总结我得到的值时 ORA 01426 numeric overflow 01426 00000 numeric overflow Cause Evaluation of an value
  • 使用 vala 将 uris 插入 Gtk.Clipboard

    我目前正在尝试为我的应用程序实现复制和粘贴 问题是我只能根据文档将纯文本或图像复制到剪贴板Gtk Clipboard https valadoc org gtk 3 0 Gtk Clipboard html https valadoc or
  • 如何使用Go Sdk for docker运行docker run?

    我想运行下面的 docker 命令docker run ajaycs14 hello world p 1527 80 d 如何实现上述使用Docker Go SDK https godoc org github com moby moby
  • 填充缺失的数据 pandas

    我如何填写此日期框中缺失的数据 没有销售的日子里缺少值 如何填写在特定商店和日期售出 0 件商品的天数的缺失值 Input Dates Store Item Sales 2017 01 01 Chicago Apple 10 2017 01