使用 pandas 数据帧时,经常会遇到数据集中缺少日期的情况。这可能会在执行绘图或计算统计数据等操作时导致错误。
考虑这样的情况:您的数据框在给定日期有多个事件或在某个日期没有事件。如果按日期对数据框进行分组并对事件进行计数,则最终可能会得到一个日期范围少于原始范围的系列。当尝试根据原始日期范围绘制系列时,这可能会导致错误。
此问题的解决方案是将缺失的日期添加到计数为 0 的系列中。这可以使用重新索引来实现功能。 reindex函数接受一个新的索引作为参数,并用指定的值(默认为NaN)填充缺失值。
import pandas as pd idx = pd.date_range('09-01-2013', '09-30-2013') s = pd.Series({'09-02-2013': 2, '09-03-2013': 10, '09-06-2013': 5, '09-07-2013': 1}) s.index = pd.DatetimeIndex(s.index) s = s.reindex(idx, fill_value=0)
上面的代码使用reindex将缺失的日期添加到series s中,填充值为 0。这会生成一个包含“09-01-2013”到“09-30-2013”范围内所有日期且计数为 0 的系列没有发生任何事件的日期。
以上是如何填充 Pandas DataFrame 中缺失的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!