gpt4 book ai didi

python - 在 Pandas 数据框中转换matlab日期

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:00 25 4
gpt4 key购买 nike

我有一组 matlab 格式的时间戳,我需要将其转换为 pandas 数据框中的 Python 日期时间。

df = pd.DataFrame(data=[737098.4, 737098.5, 737098.6, 737098.7], columns=['matlab_datenum'])
df
matlab_datenum
0 737098.4
1 737098.5
2 737098.6
3 737098.7

我遇到了以下将 matlab 日期格式转换为 python 格式的代码,但不确定如何在数据框中实现

python_datetime = datetime.fromordinal(int(matlab_datenum)) + timedelta(days=matlab_datenum%1) - timedelta(days = 366)

最佳答案

一个更快的解决方案是直接使用 pandas to_datetime 函数。这种方法的优点是它也可以用来实现超过几天的分辨率(我在下面的代码中使用了秒)。

import pandas as pd
#719529 is the number of days from matlab epoch to Unix epoch
pd.to_datetime(matlab_datenum-719529,unit='d').round('s')

一个简单的例子:

matlab_datenum=np.array([737694.83333333, 737694.84027778, 737694.84722222])

In [107]: pd.to_datetime(matlab_datenum-719529,unit='d').round('s')
Out[107]: DatetimeIndex(['2019-09-26 20:00:00', '2019-09-26 20:10:00','2019-09-26 20:20:00'],
dtype='datetime64[ns]', freq=None)

关于python - 在 Pandas 数据框中转换matlab日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48682058/

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