gpt4 book ai didi

python - 二值图像数据帧到欧几里德坐标

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:02 25 4
gpt4 key购买 nike

我正在寻找一个图像的数据帧,该图像是 False/True 的二进制 bool 值,并将其转换为数据帧为真的坐标数组。

例如,如果 index[4] 和 column[8] 为真,它将向数组添加 4,8。

最佳答案

IIUC 你可以这样做:

In [70]: df
Out[70]:
a b c
0 True False True
1 True True False
2 False True True
3 False True True
4 True False False
5 False True False
6 True False False
7 False True False
8 False False True
9 True False True

In [71]: np.dstack(np.nonzero(df.values))[0]
Out[71]:
array([[0, 0],
[0, 2],
[1, 0],
[1, 1],
[2, 1],
[2, 2],
[3, 1],
[3, 2],
[4, 0],
[5, 1],
[6, 0],
[7, 1],
[8, 2],
[9, 0],
[9, 2]], dtype=int64)

或:

In [76]: np.stack(np.nonzero(df.values)).T
Out[76]:
array([[0, 0],
[0, 2],
[1, 0],
[1, 1],
[2, 1],
[2, 2],
[3, 1],
[3, 2],
[4, 0],
[5, 1],
[6, 0],
[7, 1],
[8, 2],
[9, 0],
[9, 2]], dtype=int64)

设置:

df = pd.DataFrame(np.random.choice([True, False], (10, 3)), columns=list('abc'))

关于python - 二值图像数据帧到欧几里德坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42125493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com