python - 如何将时间索引格式 HH:MM:SS.fs 正确导入和绘制到 Pandas 数据框中
问题描述
我是 python 新手,我正在尝试使用 HH:MM:SS.fs 格式的时间列作为数据帧的索引,将 .txt 数据文件正确解析为 pandas。.txt 输入文件的示例行如下所示:
00:07:01.250 10.7
我已经使用 datetime 函数尝试了以下代码,但是除了导入我不想显示的时间戳之外,这还添加了今天的日期。我还阅读了有关时间戳和 timedelta 函数的信息,但看不到这些函数在这个用例中是如何工作的。
df = pd.read_csv(f, engine='python', delimiter='\t+', skiprows=23, header=None, usecols=[0,3], index_col=0, names=['Time (HH:MM:SS.fs)', 'NL (%)'], decimal=',')
df.index = pd.to_datetime(df.index)
这是日期时间导入的现有导入代码:
df = pd.read_csv(f, engine='python', delimiter='\t+', skiprows=23, header=None, usecols=[0,3], index_col=0, names=['Time (HH:MM:SS.fs)', 'NL (%)'], decimal=',')
df.index = pd.to_datetime(df.index)
输出的示例行如下所示:
2019-09-26 00:07:01.250 10.7
但我想要的是这个(没有日期):
00:07:01.250 10.7
关于我做错了什么的任何想法?
解决方案
您可以使用以下方法将列读取为字符串:
df.some_column = df.some_column.astype('str')
然后使用“to_datetime”的“格式”参数。它使用python“strptime”方法将字符串转换为日期时间,该方法允许您指定转换对象的确切格式,如以下链接所示:
https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
我希望这有帮助。希望我有更多的时间来测试,但不幸的是我没有。
推荐阅读
- sql-server - 转换为 varbinary
- java - 为什么 JDK 中的一些可比较类将比较函数限制为 {−1, 0, 1} 而有些则没有?
- node.js - 使用 AWS Lambda 进行 Fastify
- java - 代表团被拒绝
在 Gmail API 中 - python - 按下按钮时导入和使用 mp3
- tensorflow - TensorFlow 降低保存模型的学习率
- flutter - 在轮播滑块中显示两个项目
- nativescript - iOS 14 上的部署失败(Svelte Native,Xcode 12)
- javascript - 使用 Node.js、Mongoose 和 Discord.js 的未定义错误 [无法读取未定义的属性]
- java - 在spring boot rest api控制器中调用单例类