如何在python中加载带有日期和时间的文件作为datetime

如何在python中加载带有日期和时间的文件作为datetime

本文介绍了如何在python中加载带有日期和时间的文件作为datetime对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要使用第一个列中的日期和第二个列中的HH:MM加载此文件.

need to load this file with date in first col and HH:MM in second col.

它如何与 numpy.genfromtxt() 一起使用?也许是熊猫?

How does it work with a numpy.genfromtxt()? Maybe pandas?

我的文件如下:

2017-Feb-11 00:00  m    4.87809   1.86737   5.04236   0.27627   1.5995
2017-Feb-11 00:05  m    4.86722   1.86711   5.00023   0.27616   1.5965
2017-Feb-11 00:10  m    4.85641   1.86690   4.95810   0.27604   1.5941

推荐答案

In [32]: df = pd.read_csv(filename, delim_whitespace=True, parse_dates=[0], header=None)

In [33]: df[1] = pd.to_timedelta(df[1] + ':00')

In [34]: df
Out[34]:
           0        1  2        3        4        5        6       7
0 2017-02-11 00:00:00  m  4.87809  1.86737  5.04236  0.27627  1.5995
1 2017-02-11 00:05:00  m  4.86722  1.86711  5.00023  0.27616  1.5965
2 2017-02-11 00:10:00  m  4.85641  1.86690  4.95810  0.27604  1.5941

In [35]: df.dtypes
Out[35]:
0     datetime64[ns]
1    timedelta64[ns]
2             object
3            float64
4            float64
5            float64
6            float64
7            float64
dtype: object

PS,在熊猫中没有日期成分的情况下,您无法拥有datetime dtype-这就是为什么我将其转换为timedelta dtype的原因.或者,您可以将前两列合并为一个datetime列:

PS you can't have datetime dtype without a date component in Pandas - that's why I've converted it to timedelta dtype. Alternatively you could combine first two columns in a single datetime column:

In [29]: df['date'] = pd.to_datetime(df.pop(0) + ' ' + df.pop(1) + ':00')

In [30]: df
Out[30]:
   2        3        4        5        6       7                date
0  m  4.87809  1.86737  5.04236  0.27627  1.5995 2017-02-11 00:00:00
1  m  4.86722  1.86711  5.00023  0.27616  1.5965 2017-02-11 00:05:00
2  m  4.85641  1.86690  4.95810  0.27604  1.5941 2017-02-11 00:10:00

In [31]: df.dtypes
Out[31]:
2               object
3              float64
4              float64
5              float64
6              float64
7              float64
date    datetime64[ns]
dtype: object

这篇关于如何在python中加载带有日期和时间的文件作为datetime对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 02:00