0

ヒストグラムを作成しようとしていて、検索を行って正しいコードを見つけようとしましたが、試したすべてがうまくいきません。これは今の私のコードです、

import matplotlib.pyplot as plt
import numpy as np

with open('gaubg.csv') as f:
       v = np.loadtxt(f, delimiter= ',', dtype="float", skiprows=1, usecols='None')

plt.hist(v, bins=100)
plt.xlabel("G-r0")
plt.ylabel('# of stars')
plt.title("Bottom half g-r0")

plt.show()

gaubg.csvは、星の色に関係する約 600,000 (int ではなく float) のデータ ポイントを含む csv ファイルです。これをpythonで実行するたびに、これが表示されるエラーメッセージです

トレースバック (最新の呼び出しが最後): ファイル "gaub.py"、5 行目、v = np.loadtxt(f, delimiter= ',', dtype="float", skiprows=1, usecols='None') ファイル"/sdss/ups/prd/numpy/v1_6_1/Linux/lib/python2.7/sitepackages/numpy/lib/npyio.py"、794 行目、loadtxt の vals = [vals[i] for i in usecols] TypeError:リストのインデックスは str ではなく整数でなければなりません

それが何を意味するのかわかりません。コードを修正しようとしていますが、方法がわかりません。明らかなエラーを指摘していただければ幸いです。

4

1 に答える 1

4
usecols= 'None' 

する必要があります

usecols= None

usecolsまたは、引数の追加を完全にスキップできます。文字列を指定すると、numpy は整数であると仮定して各文字を反復処理しようとしました。

于 2012-07-12T18:58:52.957 に答える