gpt4 book ai didi

python-xarray - xarray/datetime64[ns] : remove or normalise time from datetime

转载 作者:行者123 更新时间:2023-12-02 03:21:25 27 4
gpt4 key购买 nike

我有一个数据数组arr,坐标为“时间”。到达:

    <xarray.DataArray 'T' (time: 731)>
array([244.40161, 244.39998, ..., 244.40936, 244.40549], dtype=float32)
Coordinates:
* time (time) datetime64[ns] 1979-01-01T09:00:00 ... 1980-12-31T09:00:00

提取前5个时间坐标,arr.time.values[:5]:

array(['1979-01-01T09:00:00.000000000', '1979-01-02T09:00:00.000000000',
'1979-01-03T09:00:00.000000000', '1979-01-04T09:00:00.000000000',
'1979-01-05T09:00:00.000000000'], dtype='datetime64[ns]')

我希望我的日期时间格式只是 '1979-01-01''1979-01-02' 等,没有时间,或将时间标准化为 00:00:00。

pandas 数据框有一些解决方案,但我不太确定如何在这里应用它们,因为这些函数不适用(Converting between datetime, Timestamp and datetime64Keep only date part when using pandas.to_datetime)

最佳答案

有几种方法可以做到这一点。我经常使用的快速而肮脏的方法是使用重新采样:

da.resample(time='1D').first()

更稳健一点的是直接修改时间索引:

da['time'] = da.indexes['time'].normalize()

最后,这通常可以通过创建一个新的日期时间索引来完成:

da['time'] = pd.date_range(da['time'][0], periods=len(da['time']), freq='1D')

请注意,第二个和第三个示例的计算成本将低于第一个,但确实需要直接使用底层 Pandas 索引。

关于python-xarray - xarray/datetime64[ns] : remove or normalise time from datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54653536/

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