Python 代码:从多个文件中读取数据并合并特征和标签
这段代码的功能是从给定的文件名中读取数据,并将数据分为特征和标签。所有样本的特征和标签将被合并为一个数组并返回。
具体而言,代码的实现步骤如下:
- 初始化变量 'all_sample_feature' 和 'all_sample_label' 为 'None'。
- 遍历文件名列表中的每个文件。
- 使用 'np.loadtxt' 函数从当前文件中加载数据,以逗号为分隔符,使用 UTF-8 编码。
- 将加载的数据的前 'label_start_idx' 列作为当前样本的特征。
- 创建一个长度与当前特征相同的标签数组,每个元素的值为当前文件的索引。
- 如果 'all_sample_feature' 为空,则将当前特征和标签赋值给它们。
- 否则,将当前特征和标签与 'all_sample_feature' 和 'all_sample_label' 进行纵向拼接。
- 最后返回合并后的特征数组 'all_sample_feature' 和标签数组 'all_sample_label'。
需要注意的是,代码中使用了 'numpy' 库的函数,因此需要在代码开头导入 'numpy'。
def GetAllFeatureLabel(filenames,label_start_idx):
all_sample_feature = None
all_sample_label = None
for i in range(len(filenames)):
data = np.loadtxt(filenames[i], delimiter=',', encoding='utf-8-sig')
cur_feature = data[:, 0:label_start_idx]
cur_label = np.full((len(cur_feature),), i)
if all_sample_feature is None:
all_sample_feature = cur_feature
all_sample_label = cur_label
else:
all_sample_feature = np.concatenate((all_sample_feature, cur_feature), axis = 0 )
all_sample_label = np.concatenate((all_sample_label, cur_label), axis = 0)
return all_sample_feature, all_sample_label
原文地址: http://www.cveoy.top/t/topic/o9jW 著作权归作者所有。请勿转载和采集!