python - 为什么在实现字符串值时处理数据会变得很慢?
问题描述
在尝试处理数据时,一旦我添加标签并将其值“狗”作为示例,处理时间就会增加很多,以至于无法在合理的时间内完成我的列表。
如果我将值保留为整数,则列表需要几秒钟才能完成,这背后的原因是什么?有没有办法在仍然有狗作为标签的同时防止这个问题?
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)
解决方案
推荐阅读
- python - 使用python找到威尔逊素数的最有效方法是什么?
- html - 防止 TinyMCE 在 HTML 注释中添加空格
- amazon-web-services - AWS-Logs, ElasticSearch :特定日志未显示在 ElasticSearch 中,仅适用于选定日志
- linux - 中断上下文和进程上下文的区别?
- sql-server - 从 Pyspark 2.4 连接 SQL Server 以写入数据时出现问题
- python - 是否可以强制 cp-sat 满足可行解决方案的所有约束?
- python - 设置全局变量后下载 Python 3.7.4 库的问题
- active-directory - (Windows Server 2016) Active Directory OU 策略
- odoo - 域定义中的“价值”代表什么?
- firebase - 如何在firestore中的数百万数据中进行分页?