gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:22 24 4
gpt4 key购买 nike

需要加载此文件,其中第一列包含日期,第二列包含 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com