输出I排序第一,然后得到最小的元素,规模最大,把其余的后面。 因此,根据您的数据:
import numpy
a = [[0, 0.42673399999999995, 1, 0.76885199999999998],
[1, 0.76885200000000031, 2, 0.87031900000000029],
[2, 0.8703189999999994, 3, 1.3058599999999998]]
a = numpy.sort(a, axis=1)
a = numpy.hstack((a[:,0][:,None], a[:,-1][:,None], a[:,1:-1]))
print a
输出:
[[ 0. 1. 0.426734 0.768852]
[ 0.768852 2. 0.870319 1. ]
[ 0.870319 3. 1.30586 2. ]]
编辑版本,读取CSV文件:
import numpy
a = []
filename = open("doc.csv")
for line in filename.readlines():
a.append(line.strip().split(","))
a = numpy.sort(a, axis=1)
a = numpy.hstack((a[:,0][:,None], a[:,-1][:,None], a[:,1:-1]))
print a
新的输出:
[['0' '1' '0.42673399999999995' '0.76885199999999998']
['0.76885200000000031' '2' '0.87031900000000029' '1']
['0.8703189999999994' '3' '1.3058599999999998' '2']]
请检查您的CSV文件末尾是否有空行(如果您有但无法更改您的CSV文件,则可以通过在a.append(...)
之前添加一个条件来修复)
第一行,自0 <0.42之后的第一个元素不应该是0.42而不是0.42? – Nuageux
欢迎使用stackoverflow。请,你能提供一些你的具体问题的代码吗?这可以证明你尝试了多远,它会帮助其他成员更好地理解你的问题,当时,你会给他们一个你的问题的背景。请检查这些链接:https://stackoverflow.com/help/mcve和https://stackoverflow.com/help/how-to-ask –