#%%
import scipy.io
import pandas as pd
import numpy as np
# Load the .mat file
file_path = 'clay_C.mat'
mat_data = scipy.io.loadmat(file_path)
## 建立结果表格
# 定义行、列名
columns = ['0.1', '0.5', '1', '2', '3', '4', '5']
index = ['0.1', '0.5', '1', '2', '3', '4', '5']
my_psnrs_mean = pd.DataFrame(np.nan,index = index, columns=columns)
my_ssims_mean = pd.DataFrame(np.nan,index = index, columns=columns)
my_fsims_mean = pd.DataFrame(np.nan,index = index, columns=columns)
my_ergas_mean = pd.DataFrame(np.nan,index = index, columns=columns)
#%%
# 假设MAT文件中包含一个名为'C'的数据变量
data = mat_data['C']
#%%
# 将数据转换为DataFrame
df = pd.DataFrame(data)
df = df.transpose()
#%%
for i in range(len(df)):
row = df.iloc[i][0]
my_df = pd.DataFrame(row)
psnrs_mean = my_df.iloc[0,0][0][-1]
ssims_mean = my_df.iloc[0,1][0][-1]
fsims_mean = my_df.iloc[0,2][0][-1]
ergas_mean = my_df.iloc[0,3][0][-1]
tau_1 = my_df.iloc[0,4][0][-1]
tau_2 = my_df.iloc[0,5][0][-1]
my_psnrs_mean.loc[str(tau_1),str(tau_2)] = psnrs_mean
my_ssims_mean.loc[str(tau_1),str(tau_2)] = ssims_mean
my_fsims_mean.loc[str(tau_1),str(tau_2)] = fsims_mean
my_ergas_mean.loc[str(tau_1),str(tau_2)] = ergas_mean
#%%
my_psnrs_mean*10
#%%
my_ssims_mean*10
#%%
my_fsims_mean*10
#%%
my_ergas_mean*10
代码详细分析
这段代码从MAT文件中读取数据,并将其转换为多个Pandas DataFrame,以便进行后续的分析和处理。以下是代码的详细分析:
1. 导入库和读取MAT文件
import scipy.io
import pandas as pd
import numpy as np
# Load the .mat file
file_path = 'clay_C.mat'
mat_data = scipy.io.loadmat(file_path)
这里使用了scipy.io.loadmat函数来读取MAT文件,并将其存储在变量mat_data中。
2. 建立结果表格
# 定义行、列名
columns = ['0.1', '0.5',

最低0.47元/天 解锁文章
8213

被折叠的 条评论
为什么被折叠?



