首页 > 解决方案 > 为什么在实现字符串值时处理数据会变得很慢?

问题描述

在尝试处理数据时,一旦我添加标签并将其值“狗”作为示例,处理时间就会增加很多,以至于无法在合理的时间内完成我的列表。

如果我将值保留为整数,则列表需要几秒钟才能完成,这背后的原因是什么?有没有办法在仍然有狗作为标签的同时防止这个问题?

import pandas as pd
from PIL import Image
import glob
columnNames = list()
columnNames.append('label')
for i in range(90000):
    pixel = 'pixel'
    pixel += str(i)
    columnNames.append(pixel)


train_data = pd.DataFrame(columns = columnNames)



dogs = glob.glob("data/smallDogs/*.jpg")

for i in range(0, len(dogs)):
    t = i
    img = Image.open(dogs[i])
    rawData = img.load()
    data = []
    data.append(0) # as soon as I append a string value, the processing takes so much longer.
    # data.append('dog')
    for y in range(300):
        for x in range(300):
            data.append(rawData[x,y][0])

    k = 0
    train_data.loc[i] = [data[k] for k in range(90001)]
    print('Processed ', str(i))


print(train_data)
train_data.to_csv("train_converted.csv",index = False)

标签: pythonpandaspython-imaging-library

解决方案


推荐阅读