当前位置: 首页 > ai >正文

pycharm读取不同格式的数据集用于神经网络模型训练

1.读取.mat文件
读取的CWRU数据集为例

    def capture():files = {}for i in filenames:file_path = os.path.join(d_path, i)file = loadmat(file_path)file_keys = file.keys()for key in file_keys:if 'DE' in key:files[i] = file[key].ravel()print(files[i][-10:])  # 打印最后10个数据点作为检查return files

2.读取.xlsx文件

    def capture():files = {}filenames = [f for f in os.listdir(d_path) if f.endswith('.xlsx')]for filename in filenames:file_path = os.path.join(d_path, filename)data = pd.read_excel(file_path)column_data = data.iloc[:2457600, 0].values.ravel()  # 只读取第一列的数据files[filename] = np.array(column_data)  # 将第一列数据存储到字典中print(files[filename][-10:])  # 打印最后10个数据点作为检查print(f"处理文件: {filename}, 已添加到files字典中")return files  # 返回包含所有文件第一列数据的字典

3.读取.txt 文件

    def capture():files = {}if d_path == "../data_txt/0HP":print(d_path)for i in filenames:file_path = os.path.join(d_path, i)# 检查文件是否为txt文件,确保我们只处理txt文件if file_path.endswith('.TXT'):# 使用pandas读取txt文件,假设第一列没有标题,否则使用header=0data = pd.read_csv(file_path, sep='\t' or ', ', header=None)  # 根据txt文件的实际分隔符选择'sep'# 提取第2列并展平为一维数组first_column_data = data.iloc[:, 1].values.ravel()files[i] = first_column_dataelse:print(f"跳过非txt文件: {i}")return files

4.读取.csv文件

    def capture():files = {}if d_path == "../data_me/0HP":print(d_path)filenames = [f for f in os.listdir(d_path) if f.endswith('.csv')]for filename in filenames:file_path = os.path.join(d_path, filename)data = pd.read_csv(file_path)data = data.iloc[1:, 1]data = np.array(data)# 使用文件名作为字典的键files[filename] = dataprint(files[filename][-10:])print(f"处理文件: {filename}, 已添加到files字典中")return files

5.读取.xls文件(将多个文件合并为一个工况)
#根据文件名的第一个数字对文件进行分类,并将属于同一类的文件数据合并在一起,最终以文件名的第一个数字为键保存到字典中。

    def capture():files = {}if d_path == "../data_xls/0HP":print(d_path)filenames = [f for f in os.listdir(d_path) if f.endswith('.xls')]for filename in filenames:# 提取文件名的第一个数字作为分类依据first_digit = filename[0]file_path = os.path.join(d_path, filename)data = pd.read_csv(file_path, encoding='gbk', sep='\t')data = data.iloc[:, 0]  # 假设你只需要第一列数据data = np.array(data)# 将第一个数字作为键,并添加 .xls 后缀key = f"{first_digit}.xls"if key not in files:files[key] = []# 将当前文件的数据追加到对应分类的列表中files[key].append(data)print(f"处理文件: {filename}, 已添加到 {key} 类中")# 将每个类别的数据合并成一个 NumPy 数组for key in files:files[key] = np.concatenate(files[key], axis=0)# 打印每个类别的最后10个数据for key in files:print(f"类别 {key} 的最后10个数据: {files[key][-10:]}")return files

完整代码程序可在 完整读取程序下载,将 def capture():中的内容替换为以上的内容,就可读取不同格式的数据集。

http://www.xdnf.cn/news/13979.html

相关文章:

  • keil下载安装
  • PDF处理控件Aspose.PDF教程: 在 Java 中编辑 PDF 页面大小
  • Mac电脑通过 IntelliJ IDEA 远程连接 MySQL 的详细教程
  • CANoe入门(2)-- 创建一个简单的Panel来改变TX的信号值
  • (2)SpringBoot 3 + Vue 3 前后端分离项目,集成 Flowable
  • 完整强化学习教程:基于4x4网格世界的智能体探索之旅(二)
  • 【深尚想】SM8102ABC 95%高效降压芯片!TWS/物联网专用,2A输出+1.5mm超小体积
  • 中级统计师-经济学基础知识-第二章 企业生产理论
  • Python装饰器详解和默认装饰器
  • 网络流量分析之Heavy hitters和heavy changers
  • Jmeter本身耗资源导致压测不上去解决方案
  • Java中extends与implements深度解析:继承与接口实现的本质区别
  • 【Docker基础】Docker核心概念:仓库(Registry)详解
  • Vue实现悬浮图片弹出大图预览弹窗,弹窗顶部与图片顶部平齐
  • 隧道代理IP的使用与技术优势分析
  • 几种经典排序算法的C++实现
  • jenkins连接git仓库
  • 03 - ECA模块
  • git checkout 详解
  • 危险品运输行业观察
  • Kafka环境搭建全攻略:从Docker到Java实战
  • Logback-spring.xml 配置屏蔽特定路径的日志
  • Vue3+Element Plus动态表格列宽设置
  • 【写实交互数字人】实时数字人助力政务变革:技术、产品与应用价值的全景剖析
  • 【插件推荐】WebRTC Protect — 防止 IP 泄漏
  • 苹果越来越像安卓,华为越来越像苹果
  • 电路图识图基础知识-电动机软启动器技术解析与应用(二十五)
  • 【Zephyr 系列 22】从单机开发到平台化:构建你自己的 Zephyr 物联网开发平台
  • 【结合JSR380自定义校验】
  • Altera系列FPGA基于ADV7180解码PAL视频,纯verilog去隔行,提供2套Quartus工程源码和技术支持