使用指南,包括读取,修改CDF文件:https://spacepy.github.io/pycdf.html
安装:https://spacepy.github.io/install_windows.html#windows-cdf
step 1
下载安装NASA CDF Lib,https://spacepy.github.io/install_windows.html#windows-cdf有安装可执行文件的下载,但是是3.7。
https://cdf.gsfc.nasa.gov/ 最新版本和说明(目前3.9)。
工位windows path: C:\Program Files\CDF_Distribution, 用的是3.7的版本。
这个文件夹下有三个GUI,但是目前还没用过,都是用的Python接口。命令行不说了,不会用。
step 2
安装spacepy
$pip install spacepy
所需wheel查看https://spacepy.github.io/install_windows.html#windows-cdf
$conda install m2w64-gcc-fortran libpython
step 3
复制lib文件夹的路径,如C:\Program Files\CDF_Distribution\cdf37_1-dist\lib
配置CDFlib的环境变量
import os
os.environ["CDF_LIB"] = "C:\Program Files\CDF_Distribution\cdf37_1-dist\lib"
step 4
读取cdf并创建dataframe,准备处理数据
from spacepy import pycdf
cdf = pycdf.CDF('sta_l1s_mag_sc_20230224000000_20230227235859.cdf')
cdf_dat = cdf.copy()
cdf_dat
>>>{'Epoch': VarCopy([datetime.datetime(2023, 2, 24, 0, 0, 0, 91000),
datetime.datetime(2023, 2, 24, 0, 0, 0, 216000),
datetime.datetime(2023, 2, 24, 0, 0, 0, 341000), ...,
datetime.datetime(2023, 2, 27, 23, 58, 59, 681000),
datetime.datetime(2023, 2, 27, 23, 58, 59, 806000),
datetime.datetime(2023, 2, 27, 23, 58, 59, 931000)], dtype=object),
'BFIELD': VarCopy([[-3.2409024, 4.032147 , 2.3120546, 5.665414 ],
[-3.2263246, 4.0321617, 2.326434 , 5.6629524],
[-3.2556577, 4.046645 , 2.3263192, 5.6900115],
...,
[ 4.8525386, 3.8185568, 2.2419784, 6.542797 ],
[ 4.662536 , 3.5995345, 2.4403715, 6.3495092],
[ 4.749826 , 3.6141431, 2.5552962, 6.465585 ]], dtype=float32),
'CART_LABL_1': VarCopy(['Bx(s/c)', 'By(s/c)', 'Bz(s/c)', 'BTotal '], dtype='<U7'),
'metavar0': VarCopy(['Bx(s/c)', 'By(s/c)', 'Bz(s/c)', 'BTotal '], dtype='<U7')}
cdf.close()
import pandas as pd
df1 = pd.DataFrame(cdf_dat['BFIELD'],index=cdf_dat['Epoch'],columns=cdf_dat['CART_LABL_1'])
df1
>>> Bx(s/c) By(s/c) Bz(s/c) BTotal
2023-02-24 00:00:00.091 -3.240902 4.032147 2.312055 5.665414
2023-02-24 00:00:00.216 -3.226325 4.032162 2.326434 5.662952
2023-02-24 00:00:00.341 -3.255658 4.046645 2.326319 5.690012
2023-02-24 00:00:00.466 -3.241202 4.061195 2.355046 5.703844
2023-02-24 00:00:00.591 -3.241024 4.046680 2.326401 5.681652
... ... ... ... ...
2023-02-27 23:58:59.431 4.880218 3.657736 2.842142 6.700207
2023-02-27 23:58:59.556 4.997655 3.818484 2.557359 6.761693
2023-02-27 23:58:59.681 4.852539 3.818557 2.241978 6.542797
2023-02-27 23:58:59.806 4.662536 3.599535 2.440372 6.349509
2023-02-27 23:58:59.931 4.749826 3.614143 2.555296 6.465585