python - 在 Python 中将图像分配给 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 中分配。
有谁知道怎么解决?提前致谢。
解决方案
尝试通过以下方法添加一个新列作为现有列的函数,.apply()
例如
df['new_col'] = df.apply(lambda row: ..., axis=1)
推荐阅读
- bash - 如何每 20 秒执行一次 bash 脚本?,好用睡眠和循环?
- pine-script - 使用 bar_index 作为其他最高()的长度
- python - 有没有办法防止python内部出现“连接错误”或“无网络”错误?
- php - php预填充文本区域
- python - 在graphviz python包中难以分离等级
- vb.net - VB.net:打印 RTL DGV 内容
- php - 使用 DocuSign REST API 时出现 404
- cloud-foundry - BOSH Director 部署
- collections - 如何跟踪集合中的最小条目?
- azure-devops - Azure DevOps AzureCLI@2 创建 linux webapp