把文件夹里的npy文件提出来80%保存到新文件夹里
时间: 2023-07-30 10:07:03 浏览: 33
可以使用Python中的NumPy库来实现这个问题。以下是一个示例代码,可以将文件夹中所有的.npy文件提取出来,并将80%的数据保存到新文件夹中。
``` python
import os
import numpy as np
import shutil
# 原始文件夹路径和目标文件夹路径
src_folder = 'path/to/source/folder'
dst_folder = 'path/to/destination/folder'
# 获取所有.npy文件的路径
file_paths = [os.path.join(src_folder, f) for f in os.listdir(src_folder) if f.endswith('.npy')]
# 遍历所有.npy文件
for file_path in file_paths:
# 加载.npy文件
data = np.load(file_path)
# 获取80%的数据
n_samples = int(data.shape[0] * 0.8)
data_80 = data[:n_samples, :]
# 获取文件名(不包含路径和后缀)
file_name = os.path.splitext(os.path.basename(file_path))[0]
# 构造新文件的路径
new_file_path = os.path.join(dst_folder, file_name + '_80.npy')
# 保存80%的数据到新文件中
np.save(new_file_path, data_80)
# 打印进度
print(f'Saved {n_samples} samples from {file_path} to {new_file_path}')
```
需要注意的是,以上代码假设所有.npy文件都是二维数组,其中第一个维度表示样本数,第二个维度表示特征数。如果你的.npy文件的维度不同,需要稍作修改。另外,以上代码只是提供了一种实现方法,您可以根据自己的需求进行修改。