首页 > 解决方案 > 如何正确使用 pd.Series 加载图像到列表?

问题描述

我正在使用 pd.Series 从文件夹创建图像列表,并将其与从 csv 文件导入的数据集相关联。从 pd.Series 创建的列表倾向于将第 10 个图像定位为第二个图像,并且此错误在数据集中传播。谁能帮我纠正它?

import numpy as np
import pandas as pd
from pathlib import Path
import os.path

image_dir = Path('E:/Notebooks/s2_tiles')
cols = ["labels"]
filepaths = pd.Series(list((image_dir.glob('**\*.tif'))), name='Filepath').astype(str)
labels = pd.read_csv('E:/Notebooks/data.csv', sep=" ", header=None, names=cols)
images = pd.concat([filepaths, labels], axis=1)

这是我打印文件路径的时候:

在此处输入图像描述

标签: pythonpandasdataframe

解决方案


我设法根据以下代码进行了正确的重命名:

import os
from natsort import natsorted

base_path = r'E:\Notebooks\s2_tiles'
files = natsorted(os.listdir(base_path))


for i, fp in enumerate(files):
    dst = os.path.join(base_path, "{0:04d}.tif".format(i))
    src = os.path.join(base_path, fp) 
    os.rename(src, dst) 

推荐阅读