python - 为什么我在 pandas 访问 MySQL 时得到 Timedelta 类型
问题描述
MySQL 中的数据类型是time
,但是当我通过 pandas 访问它时,dataframe 中的类型变成Timedelta
. 我的代码是
df = pandas.read_sql_query(“select * from table1”, con=newConnect)
解决方案
因为timedelta
是 Pandas/Numpy 中最接近 MySQL 的time
数据类型。
考虑以下数据框:
In [306]: df
Out[306]:
time
0 10:11:12
1 22:23:24
In [307]: df.dtypes
Out[307]:
time object
dtype: object
您可以将其转换为datetime
(这将需要一个日期部分):
In [308]: pd.to_datetime(df.time)
Out[308]:
0 2018-06-19 10:11:12
1 2018-06-19 22:23:24
Name: time, dtype: datetime64[ns] # <---- note the dtype
或到timedelta
:
In [309]: pd.to_timedelta(df.time)
Out[309]:
0 10:11:12
1 22:23:24
Name: time, dtype: timedelta64[ns] # <---- note the dtype
推荐阅读
- node.js - 在 Electron 中运行 nodegit 失败
- php - 如何销毁会话中的数据?PHP
- javascript - 使用简单的 JS 函数和方法在 Javascript 中计算年龄
- flutter - 页面导航后是否可以使警报对话框消失?
- python - python "ModuleNotFoundError: No module named '_ctypes'" 共享主机上的错误(无法 sudo install libffi-dev)
- react-native - 反应原生社区异步存储compiledebug javawithjavac 运行应用程序时出错
- php - 如何使用php在网站上上传多张图片
- python - 如何在 python kubernetes 客户端的 patch_namespaced_deployment 函数中传递补丁类型?
- reactjs - 在辅助函数中使用 Material-UI 的 useStyle 或使辅助函数表现得像函数组件
- metrics - 如何解释语义分割的吞吐量指标?