pandas 将Unix时间戳转换为日期时间NETCDF4

eaf3rand  于 2022-12-25  发布在  Unix
关注(0)|答案(1)|浏览(177)

在我的NetCDF文件中,我有一个包含变量“time"的组”vel",在使用matplotlib和numpy绘图时,我将该变量用作X轴。
我希望绘图X轴作为日期时间(而不是Unix时间),但在其他代码示例中没有太大成功。我不确定在绘图创建过程中内联它是否更好,或者在变量上执行一个函数并创建一个新的数据项/变量。此外,Unix时间不是整数(十进制秒-见以下示例)

1,1665583266.0000
2,1665583266.0625
3,1665583266.1250
4,1665583266.1875
5,1665583266.2500
6,1665583266.3125
7,1665583266.3750
8,1665583266.4375
9,1665583266.5000
10,1665583266.5625

已尝试使用 * 日期时间.日期时间.自时间戳(YOUR_UNIX_TIMESTAMP)* 的变体
但出现以下错误:

  • 只有长度为1的数组可以转换为Python标量 *

未看到任何在NetCDF数据集上进行时间转换的示例
这显然适用于单个数据项,因为以下内容按预期工作并返回今天的日期/时间2022-12-22 13:23:35:

import datetime
 
unixToDatetime = datetime.datetime.fromtimestamp(1671715415) # Unix Time
print(unixToDatetime)
xfb7svmp

xfb7svmp1#

好吧,我想出了怎么对付Pandas:

import netCDF4
import pandas as pd

nc = netCDF4.Dataset('filename.nc')
tvel = nc.groups['vel'].variables['time'][:] # Unix time
dt_tvel = pd.to_datetime(tvel, unit='s') # Datetime

print(dt_tvel)

相关问题