我有一个文本文件,其中包含像'10:15.3'这样的列,这意味着在一些规范事件发生后10分15.3秒 . 当我用read_csv读取它时,我得到了字符串:
>>> df.time.head()
0 08:32.0
1 08:38.0
2 08:39.0
3 08:43.0
4 09:15.0
Name: time, dtype: object
>>> df.time.head()[:1][0]
'08:32.0'
>>>
我觉得我应该能够在pandas中轻松获得秒数,或者通过在read_csv中指定转换,或者(可能更好,所以我同时使用)通过添加新列,但我没有看到如何做到这一点 . 我很确定这只是我的密集 .
任何人都可以提供一个提示,以帮助我解开?
4 回答
使用0.15,这很容易做到,完整的文档是here
您的格式不是“常规”格式,但可以通过预先挂起的'00:'来制作小时字段 .
将它解析为timedelta .
这些是规范缩小格式的显示秒数(例如hh:mm:最低形式的ss) .
如果您需要表示的总秒数,请执行此操作(这称为频率转换):
没有使用熊猫,但我会像这样提取秒:
您可以使用
datetime.time
对象 . 为此,您需要提供:小时,分钟,秒,微秒 . 它们以整数形式提供,因此您只需要将每个字符串的相关部分int转换为datetime.date构造函数 .所以在你的情况下:
我不能用pandas内部真正帮助你,但有一种简单的pythonic方式来获得数字格式的秒数: