輸出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 –