【问题标题】:Creating NetCDF files in python from csv data从 csv 数据在 python 中创建 NetCDF 文件
【发布时间】:2021-08-30 10:13:00
【问题描述】:

我目前有许多不同位置的 csv 文件。在每个文件中有两列,一列是日期时间,另一列是以节为单位的每小时最大阵风。我还有一个单独的 csv,其中包含每个 csv 文件位置的坐标。

最初我想从 3 x 4 网格中的 12 个位置创建一个 netcdf,间距为 0.25 度。

我在网上阅读的所有关于从 csv 创建 netcdf 文件的示例都以 lat long 的 csv 文件开头,然后是其中的变量,因为我从时间序列和变量开始。和 lat long 为每个点分开。

除此之外,我看到的所有示例都以手动方式一次加载每个时间步。显然,如果我使用 1979 年的每小时数据,这是不可行的,如果可能的话,我想一次性加载所有数据。如果这是不可能的,那么与每个时间步长相比,为每个网格点加载数据仍然会更快。对于这些问题的任何帮助将不胜感激。

我一直在遵循以下示例 https://www.esri.com/arcgis-blog/products/arcgis/data-management/creating-netcdf-files-for-analysis-and-visualization-in-arcgis/ 如果这对提供帮助的人有用

我也熟悉CDO,但我不确定它是否有任何有用的功能

干杯

【问题讨论】:

    标签: python csv spatial netcdf cdo-climate


    【解决方案1】:

    有多种方法可以做到这一点。最简单的可能是使用 pandas 和 xarray。下面的代码展示了如何创建一个简单的数据框并使用 pandas/xarray 将其保存为 netCDF。

    import pandas as pd
    import xarray as xr
    
    df = pd.DataFrame({"lon":range(0,10), "lat":range(0,10), 
    "value":range(0,10)})
    df = df.set_index(["lat", "lon"])
    df.to_xarray().to_netcdf("outfile.nc")
    

    您还没有指定如何存储时间等,所以我将由您来决定如何读取 csv 并以必要的格式获取时间。

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      • 2017-01-09
      • 2011-02-06
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多