mohammed abera
mohammed abera

Reputation: 1

Export to netcdf / .nc file from a pandas DataFrame

I want to multiple data extract from cmip6 model data and save as netcdf file by using the following scripts:

import pandas as pd
import xarray as xr 

from netCDF4 import Dataset 

nc_file = (r"C:\Users\DELL 3090\Desktop\Projection\RF_58\pr_Amon_AWI-CM-1-1-MR_ssp585_mm_month.nc") 
NC = xr.open_dataset(nc_file)

#define locations and station id
lat=[13.3,7.5,8.5,7.9,9,7.8,11.3,14.3,14.2,7]

lon=[39.8,34.3,39.8,38.7,38.8,39.9,37.5,39.5,38.9,39.9]

name=['Abala','Abobo','Abomsa','Adamitulu','AddisAbabaBole','Adele','Adet','Adigrat','Adwa','Agarfa']

Newdf = pd.DataFrame([])

for i,j,id in zip(lat,lon,name): 
    dsloc = NC.sel(lat=i,lon=j,method='nearest') 
    DT=dsloc.to_dataframe()
    # insert the name with your preferred column title:
    Newdf=Newdf._append(DT,sort=True)
    Newdf.to_netcdf('C:/Users/DELL 3090/Desktop/Projection\RF_58/pr_Amon_AWI-CM-1-1 MR_ssp585_mm_month111.nc', index=True, header=True)

But finally python responds this error:

File ~\anaconda3\envs\env_resaerch\Lib\site-packages\pandas\core\generic.py:6204 in __getattr__ return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'to_netcdf'

so please help me what can I do?

Upvotes: -1

Views: 38

Answers (1)

Daraan
Daraan

Reputation: 3780

to_netcdf is a method of xarray.Dataset. Therefore, first convert it to an xarray with DataFrame.to_xarray.

In your case this should be:

...
Newdf.to_xarray().to_netcdf(...)

Upvotes: 2

Related Questions