hqtian2 2022-04-28 12:42 采纳率: 0%
浏览 26

ecg生成测试,训练.npy文件时,出现问题说我数组维度超出范围。

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
:param database_name:
:return None:
"""

if database_name == ["apnea-ecg", "train"] or database_name == ["apnea-ecg", "test"]:
    clear_id_set = np.load(database_name[0] + "_" + database_name[1] + "_clear_id.npy")
else:
    raise Exception("Error database name.")
dataset = []
RRI_set = []
RAMP_set = []
EDR_set = []
label_set = []
for id in clear_id_set:
    eds = ECGSegment()
    eds.global_id = id
    eds.read_ecg_segment(1, database_name)
    eds.read_rri_ramp_edr()
    label_set.append(eds.label)
    RRI_set.append(eds.RR_intervals)
    RAMP_set.append(eds.R_peaks_amplitude)
    EDR_set.append(eds.EDR)
    dataset.append(eds)

# substract mean of RRI,RAMP and EDR, RAMP * 10, EDR * 10000

mean = np.mean(RRI_set, axis=1)
mean = np.reshape(mean, (mean.shape[0], 1))
rri_set = RRI_set - mean
rri_set = np.reshape(rri_set, (rri_set.shape[0], rri_set.shape[1], 1))
mean = np.mean(RAMP_set, axis=1)
mean = np.reshape(mean, (mean.shape[0], 1))
ramp_set = RAMP_set - mean
ramp_set = np.reshape(ramp_set, (ramp_set.shape[0], ramp_set.shape[1], 1))
ramp_set = ramp_set * 100
mean = np.mean(EDR_set, axis=1)
mean = np.reshape(mean, (mean.shape[0], 1))
edr_set = EDR_set - mean
edr_set = np.reshape(edr_set, (edr_set.shape[0], edr_set.shape[1], 1))
edr_set = edr_set * 10000
rri_amp_edr_set = np.concatenate([rri_set, ramp_set, edr_set], axis=2)

if not os.path.exists("data/"):
    os.makedirs("data/")
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_dataset.npy", np.array(dataset))
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_rri.npy", np.array(rri_set))
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_ramp.npy", np.array(ramp_set))
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_edr.npy", np.array(edr_set))
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_rri_ramp_edr.npy", np.array(rri_amp_edr_set))
np.save("data/" + database_name[0] + "_" + database_name[1] + "_clear_label.npy", np.array(label_set))

if name == 'main':
# produce_database(["apnea-ecg", "train"])
produce_database(["apnea-ecg", "test"])

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

img

  • 写回答

1条回答 默认 最新

  • A Python 萌新花花 2022-04-28 12:59
    关注
    1. 该错误是由于列数不一致导致的,检查一下每一行的列数
    2. https://blog.csdn.net/BBJG_001/article/details/104165479
      请自行分辨

    求采纳

    评论

报告相同问题?

问题事件

  • 创建了问题 4月28日

悬赏问题

  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?