numpyでcsvを配列に取り込み、特定の列を基準にソートして再出力しようとおもっています
今回は36列目を基準にソートしたいのですが、取り込む配列には1行目がヘッダーとなっています
ただソートしただけではヘッダー部分もソートの対象となってしまうので一度np.delete()でヘッダー部分を削除してsort()でソートを行い、再出力する前にヘッダー部分を挿入しようと思いました
しかしnp.delete()でヘッダーを削除したあとにソートを行おうとすると
TypeError: 'key' is an invalid keyword argument for sort()
といったエラーが返ってきます
np.delete()を行わずソートした場合、ソートはできるのですが、ヘッダー部分もソートの対象となってしまいます
以下がcsvの読み込み、ヘッダーの削除、ソート、ヘッダーの挿入部分のコードになります
Python
1filename = os.path.splitext(os.path.basename(sys.argv[1]))[0] 2ha = (np.loadtxt(fname=sys.argv[1], dtype="str",delimiter=",",)).tolist() 3header = ha[0] 4ha = np.delete(ha, 0, 0) 5ha.sort(key=lambda x: int(x[35])) 6ha = np.insert(ha, 0, header)
検索してみても解決策がいまいちわかりませんでした
ヘッダー部分はそのままでソートを行う方法はなにかありますでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/08 01:31