python - 在 TensorFlow 中对数组进行排序

标签 python arrays sorting tensorflow

假设我在 TensorFlow 中有一个数组:

[ 0.12300211,  0.51767069,  0.13886075,  0.55363625],
[ 0.47279349,  0.50432992,  0.48080254,  0.51576483],
[ 0.84347934,  0.44505221,  0.88839239,  0.48857492],
[ 0.93650454,  0.43652734,  0.96464157,  0.47236174], ..

我想按第三列对这个数组进行排序。我该怎么做呢?我可以使用 tf.nn.top_k() 单独对每一列进行排序,这会为我提供排序后的值和相应的索引。我可以使用第三列的索引对其他列进行重新排序,但我找不到重新排序的操作。

假设我想在图形中保留内容(没有 Python 恶作剧):

  • 如何在 TensorFlow 中对(上述数组)进行排序?
  • 当我有重新排序的索引时,如何在 TensorFlow 中重新排序?

最佳答案

以下作品:

a = tf.constant(...) # the array
reordered = tf.gather(a, tf.nn.top_k(a[:, 2], k=4).indices)

关于python - 在 TensorFlow 中对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784941/

相关文章:

arrays - 为什么 Time::HiRes::stat 打破列表下标?

java - 比较方法在排序文件时违反了它的一般契约

javascript - 如何从多个不同长度的数组创建一个设定长度的新数组,根据重要性从每个较小的数组中取出的项目数

python - 为什么 Celery 对 Redis 代理使用轮询?

python - 如何在 Mac 上修复 "cc: error: unrecognized command line option ' -Wshorten-64-to-3 2'"问题

python - 使用 python pandas 找到最高的增长?

用于将 boolean 列排序为 true、null、false 的 SQL

python - 如何在popen子进程中使用 '>>'

javascript - 无法使用 vuetable-2 中的数组访问字段

c - 如何将指针传递给C中的指针数组