python - 如何在Python中加载带有日期和时间的文件作为日期时间对象?

标签 python pandas dataframe genfromtxt

需要加载此文件,其中第一列包含日期,第二列包含 HH:MM

它如何与 numpy.genfromtxt() 一起使用?也许是 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,Pandas 中没有日期组件就无法拥有 datetime dtype - 这就是我将其转换为 timedelta dtype 的原因。或者,您可以将前两列合并到一个 datetime 列中:

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 - 如何在Python中加载带有日期和时间的文件作为日期时间对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936176/

相关文章:

python - 使用 Tkinter 在未知长度的可迭代中为每个项目创建一个条目

python - SymPy 自动处理表达式

python - pandas-read_excel 语法错误

performance - data.frame 方法的最有效列表?

python - 如何以 5 个字符的 block 读取字符串?

python - 在 Python 中回调

python - 附加具有不同列名称的数据框 - Pandas

python - 旋转 python

python - 从同一项目 pandas 的不同数据框中获取值

pandas - 在 scipy/pandas 中使用 Pearson's r 删除 'nan'