【发布时间】:2020-12-22 08:10:05
【问题描述】:
我有一个 pandas 数据框,其中一列是图像(numpy 数组格式的单通道 uint8 2d 图像)。 我正在使用 iterrows() 遍历行,并处理图像,我想将结果(其他图像,格式相同)分配给数据框其他列的元素。我有一个图片专栏。
for index,row in df.iterrows():
image=df['image']
processed=process_image(image)
df.loc[index,'processed_image']=processed
但是,当我尝试使用 .loc 或 .at(或 .iloc、.iat)时,会遇到这样的错误(对于 .loc 和 .at):
ValueError:无法使用长度与值不同的多索引选择索引器进行设置 ValueError: 使用序列设置数组元素。
可能 loc 和 at 期望单个值,他们期望数组用于填充 pandas 数据帧的多个索引。但我不希望这样,我希望将数组作为单个元素。
我在互联网上的其他地方找不到确切的 questino。我发现的最接近的是已经手动使用数组元素初始化数据框,而不是在 iterrows 中分配。
有人知道怎么解决吗?提前致谢。
【问题讨论】: