【无标题】

对于数据集的一些处理:对csv的操作并移动复制图片

读取csv文件

首先对于数据来说有了csv文件,在python使用过程中通过pandas库中相关操作进行。

使用read_csv()函数进行读取为dataframe的格式

例如我的csv文件的路径在:data/shuju/train.csv

当我进行读取时候的代码:

df_train = pd.read_csv(os.path.join('./data/', f'shuju', 'train.csv'))
删除某一列指定内容

如果我的csv数据集中有一列sex,里面有0和1,我们想要删除所有sex=0的数据,那么:

df_train = df_train[df_train['sex'] != -1].reset_index(drop=True)

这里的df_train就是上面读取的,后面例子一样

csv中根据图片名称去设置该图片的路径

如果数据中有一列image_name是我们图像的名称,我们可以在csv中设置一个新的列去添加每一个图像的路径,我们新添加的列为filepath

说明:我们图像jpg的路径是data/shuju/train/image_name.jpg

df_train['filepath'] = df_train['image_name'].apply(
    lambda x: os.path.join('./data/', f'shuju/train', f'{x}.jpg'))

csv中将某一列中的A全部替换为B

我们假设对于csv中的guojia这一列中的Wan替换为China

df_train['guojia']  = df_train['guojia'].apply(lambda x: x.replace('Wan', 'China'))
将两个dataframe数据(csv)连在一起

假设train_0和train_1是读取的两个不同csv的dataframe数据,将两个结合起来

train = pd.concat([train_0, train_1]).reset_index(drop=True)
只要csv某一列中具体属性的数据

例如我们对于df_train数据中只要guojia列中为China的数据

df_train=df_train[df_train['guojia']=='China']
从CSV中随机选取自定义行的数据

比如说我们的数据有5w个,对于与csv也应该是5w,我们只要100个

df_train= df_train.sample(100)
打乱数据集中的位置
df_train = df_train.reindex(np.random.permutation(df_train.index))
将dataframe输出为csv文件

上面说的csv虽然和dataframe一致,但是对于dataframe来说是python中的一种类型,而对于csv来说是文件的类型,所有他们之间可以相互转换。csv转为dataframe第一个都已经说了。那么对于dataframe转成csv:

df_train.to_csv('df_train_1.csv')
根据csv列中的信息去移动图片

上面我们的csv中有图片的路径信息,并且经过了一些其他处理,此时的图像不是我们最终要的。我们使用shutil对数据进行复制

df_train = pd.read_csv(os.path.join('df_train_1.csv'))
# 新建文件夹train
    Train=os.path.exists('train')
    if not Train:
        os.makedirs('train')
    else:
        print('目录已存在')
    # 通过遍历filepath列,使用shutil工具将原始路径下的文件复制到指定的文件夹
    for pth in df_train['filepath']:
        shutil.copy(pth,'train')

做完之后我们需要的图像会存在train文件夹中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值