我的数据框21000
有56000行,其中图像缩略图URL作为其列值之一。我正在评估这些图像中的每个图像是否对比度很低。我让下面的代码运行9个小时!但仍然没有结果,内核仍然很忙。你能让我知道怎么了吗?
P.S。我用数据框的一部分(100行)尝试了该代码,成功运行了3秒。按该标准确定,56000行应该花费30分钟。临时文件或其他内容是否发生内存溢出? 也许我需要在这里引入一个try块来捕获任何异常(即使没有错误显示)?我不确定该怎么做。
data3
答案 0 :(得分:0)
以下解决方案避免将临时映像保存到磁盘,从而减少了开销:
def f(row):
url = row['ThumbnailURL']
img = Image.open(BytesIO(requests.get(url).content))
return is_low_contrast(img, fraction_threshold=0.4, lower_percentile=1,
upper_percentile=99, method='linear')
要尝试使用此代码,您需要包括以下导入:
import requests
from io import BytesIO
from PIL import Image
from skimage.exposure import is_low_contrast