python - 在 pandas df 中添加缺失的月份
问题描述
我有以下内容df
:
df
A B C
January 209733 0 0
February 223054 0 0
March 127957 0 0
April 67021 0 0
我想将缺少的月份作为空单元格添加到这个df
. 为此,我创建了一个df_empty
:
df_empty = {'A': '', 'B': '', 'C': ''}
我想通过以下方式将pd.concat
其还原到我的原始df
位置:
df = pd.concat([df, pd.DataFrame(df_empty, index=['May', 'June', 'July', ...])])
但是我不想对所有月份都进行硬编码,而是应该认识到最后一个月df
是,并根据其他缺失的月份'April'
填充。index=[]
这是 的索引df
:
df.index
Index(['January', 'February', 'March', 'April'], dtype='object')
我怎样才能做到这一点?
解决方案
首先通过以下方式计算缺失的月份:
missing_months = [i for i in range(dt.datetime.strptime(df.index[-1], '%B').month+1, 13)]
然后使用 for 循环将它们转换为月份名称,并将其保存在列表中:
for i in range(len(missing_months)):
missing_months[i] = dt.date(1900, missing_months[i], 1).strftime('%B')
最后missing_months
列表可用于pd.concat
.
推荐阅读
- facebook - 无效的密钥哈希。输入的密钥哈希与任何存储的密钥哈希都不匹配
- linux - 如何在shell脚本/bash中将.txt文件输出转换为表格格式[不是html表格格式]
- asp.net - 如何通过 Web.Config 在 cookie 中添加 SameSite:none
- jquery - 剑道ui网格弹出隐藏按钮
- python - Django - 覆盖/替换来自第 3 部分站点包的导入
- jquery - 使用 AJAX 的 JSON 响应数据表无效
- android - 如何在 Instagram 等键盘上方获取表情符号快捷栏?
- python - Python中自定义异常的奇怪行为
- javascript - 创建多个模式时遇到问题
- java - 如果我们在分区内使用多个消息流(createMessageStreams),我们如何在 kafka 消费者中实现排序