Ich wundere mich, warum ich verschiedene Ergebnisse mit Argsort in Python2 und Python3 erhalten. Meine Codes sind wie folgt:argsort in Python3
## Import Data
allWrdMat10 = pd.read_csv("../../data/allWrdMat10.csv.gz",
encoding='CP932')
## Set X as CSR Sparse Matrix
X = np.array(allWrdMat10)
X = sp.csr_matrix(X)
dict_index = {t:i for i,t in enumerate(allWrdMat10.columns)}
freqrank = np.array(dict_index.values()).argsort()
X_transform = X[:, freqrank < 1000].transpose().toarray()
freq1000terms = dict_index.keys()
freq1000terms = np.array(freq1000terms)[freqrank < 1000]
In Python2, freqrank
enthält die Ergebnisse als: array([4215, 2825, 7066, ..., 539, 3188, 5239])
. In Python3 enthält freqrank
jedoch nur array([0])
, und dieses Ergebnis verursacht weiterhin einen Fehler in der letzten Codezeile wie IndexError: too many indices for array
. Wie kann ich die gleichen Ergebnisse erhalten, dass freqrank
die sortierte Liste in Python3 enthält, wie ich in Python2 habe? Oder, wie kann ich die obigen Codes in Python3 arbeiten lassen? Vielen Dank.
Das hilft sehr. Danke für Ihre Hilfe! – tzu