วิธีแสดงภาพชุดข้อมูล NetCDF
สมมติว่าผมมีค่อนข้างใหญ่ไฟล์ที่ผมเปิดเป็นชุดข้อมูลโดยใช้NetCDFxarray
import xarray
nc_in = r"....\D_P_WGS84_comp.nc"
nc_ds = xarray.open_dataset(nc_in)
ประกอบด้วยตัวแปรแรสเตอร์หลายตัวโดยแต่ละตัวมีแถบเดียวพิกัด x, y และ crs (4326):
nc_ds
สมมติว่าฉันต้องการเห็นภาพสิ่งนี้ใน Python Notebook ของฉัน ฉันไม่ต้องการเพิ่มแผนที่ฐานหรือตำนานหรืออะไรทำนองนั้น ฉันพยายามเพียงแค่เรียกใช้show(nc_ds) but throws an errors AttributeError: วัตถุ 'ชุดข้อมูล' ไม่มีแอตทริบิวต์ 'รูปร่าง' ' ฉันยังสังเกตเห็นว่ามิตินั้นถูกแช่แข็ง วิธีที่ง่ายที่สุดในการแสดงภาพชุดข้อมูลนี้หรือตัวแปรเดียวใน Python คืออะไร มี mod หรือส่วนขยายแพ็คเกจที่จะทำสิ่งนี้หรือไม่?
คำตอบ
เนื่องจากDatasetสามารถมีตัวแปรมากกว่าหนึ่งตัวแปรจึงไม่ใช่เรื่องสำคัญที่ซอฟต์แวร์จะทราบว่าคุณต้องการให้แสดงอะไร หากคุณเลือกตัวแปรตัวใดตัวหนึ่งตามDataArrayที่ระบุไว้คุณสามารถแสดงได้อย่างง่ายดาย (หากอยู่ในรูปแบบที่เหมาะสม)
ตัวแปรของ a Datasetมีอยู่ในdata_varsแอตทริบิวต์ สิ่งนี้จะแสดงตัวแปรเป็นDataArrays ใน dict โดยมีชื่อตัวแปรเป็นคีย์
เป็นขั้นเป็นตอน:
variables = nc_ds.data_vars
f02_nbr_e0002 = variables['F02_NBR_E0002']
show(f02_nbr_e0002)
oneliner ที่มีประสิทธิภาพ:
show(nc_ds.data_vars['F02_NBR_E0002'])