python - 将期间更改为日期时间
问题描述
我的目标是将期间转换为日期时间。
如果生活很简单:
master_df = master_df['Month'].to_datetime()
背景故事:
我构建了一个新的数据框,该数据框最初汇总了每月的总数,并通过将时间戳转换为期间创建了一个“月”列。现在我想将该时间段转换回时间戳,以便我可以使用 matplotlib 创建绘图。
我试过以下:
阅读Period.to_timestamp的文档。
转换为字符串,然后返回日期时间。仍然保留期间问题并且不会转换。
在 Stackoverflow 中关注了几个类似的问题,但似乎无法让它发挥作用。
一个简单的目标是绘制以下内容:
plot.bar(m_totals['Month'], m_totals['Showroom Visits']);
如果我尝试在图表中使用 period dtype,这是我得到的错误
ValueError: view limit minimum 0.0 is less than 1 and is an invalid Matplotlib date value.
如果您将非日期时间值传递给具有日期时间单位的轴,通常会发生这种情况。
附加材料:
我用来创建Month
列的代码(创建期间问题的地方):
master_df['Month'] = master_df['Entry Date'].dt.to_period('M')
我用来分组到每月总数的代码:
m_sums = master_df.groupby(['DealerName','Month']).sum().drop(columns={'Avg. Response Time','Closing Percent'})
m_means = master_df.groupby(['DealerName','Month']).mean()
m_means = m_means[['Avg. Response Time','Closing Percent']]
m_totals = m_sums.join(m_means)
m_totals.reset_index(inplace=True)
m_totals
结果数据框:
解决方案
推荐阅读
- laravel - Laravel 5.8 请求数据为空
- android - GridView 没有全屏显示
- angular - Mat-Button routerLinkActive 替代方案?
- command-line - 意外标记“(”附近的语法错误,带有 gdbserver 的引用参数
- react-native - React native error "unsupported BodyInit type" 为什么会出现以及如何解决?
- arrays - ClickHouse 数组 - 在数组中找到最长的重复数字链
- ios - IOS 目标 C 选择器使用了错误的范围
- node.js - 无法访问全局安装的节点模块
- .net - ASP.NET Core 2.2 升级到 Core 3.0 后,我的 OnModelCreating 方法出现错误
- html - 调整大小时,部分 SVG 图像消失