python - 具有 datetime64[ns] 值的堆积条形图。使用第一列作为起点
问题描述
我有一个通过检查点的跑步者数据集,它看起来像这样:
data = {'Runner': ['Tom', 'Joseph', 'Krish'],
'Start': [30/04/2021 05:27:19, 30/04/2021 05:33:50, 30/04/2021 05:43:32],
'First Checkpoint': [30/04/2021 05:40:45, 30/04/2021 05:36:59, 30/04/2021 05:59:03],
'Second Checkpoint': [30/04/2021 05:42:50, 30/04/2021 05:42:31, 30/04/2021 06:01:19],
'Third Checkpoint': [30/04/2021 05:42:53, 30/04/2021 05:42:33, 30/04/2021 06:01:37]}
df = pd.DataFrame(data)
我想将此数据可视化为堆积条形图,但使用 Start 列作为图表中的第一个代码。
我的问题是datetime64[ns]
matplotlib 不支持,我什至找不到解决方法来开始绘图。
对此有什么帮助吗?
解决方案
您需要使用 pd.to_datetime 将数据转换为正确的 DateTime 格式
data = {'Runner': ['Tom', 'Joseph', 'Krish'],
'Start': ['30/04/2021 05:27:19', '30/04/2021 05:33:50', '30/04/2021 05:43:32'],
'First Checkpoint': ['30/04/2021 05:40:45', '30/04/2021 05:36:59', '30/04/2021 05:59:03'],
'Second Checkpoint': ['30/04/2021 05:42:50', '30/04/2021 05:42:31', '30/04/2021 06:01:19'],
'Third Checkpoint': ['30/04/2021 05:42:53', '30/04/2021 05:42:33', '30/04/2021 06:01:37']}
df = pd.DataFrame(data)
for col in df.columns[1:]:
df[col] = pd.to_datetime(df[col])
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Runner 3 non-null object
1 Start 3 non-null datetime64[ns]
2 First Checkpoint 3 non-null datetime64[ns]
3 Second Checkpoint 3 non-null datetime64[ns]
4 Third Checkpoint 3 non-null datetime64[ns]
dtypes: datetime64[ns](4), object(1)
memory usage: 248.0+ bytes
推荐阅读
- azure-cognitive-services - Microsoft 认知面部 API 人员组创建错误
- mysql - LIMIT 在 MySQL 8.0 的存储过程中不能使用用户定义的参数
- angular - Angular nativeElement contains() 无法按预期为文档工作:单击
- python - 将我的 jupyter 笔记本设置为使用环境的 python 版本
- java - 使用 MySQL 容器作为依赖项在本地运行 Spring Boot?
- laravel-4 - 在查找查询中传递两个 id 以更新 laravel 4.2 中的状态数据库
- java - 委托 org.junit.jupiter.api.Assertions 类
- python - 如何从数据中排除这种类型的uid,只提取一年以来没有登录的用户
- c++ - 当我尝试使用 sstream 和 facet 将 Boost Time_duration 转换为字符串时,我没有得到所需的格式
- ruby-on-rails - Rails查询:查找第一条记录值并以表格形式显示