「PythonforDataAnalysis」の本を読んでいて、「例:2012連邦選挙委員会データベース」セクションでデータをDataFrameに読み取るのに問題があります。問題は、index_col引数がNoneに設定されている場合でも、データの列の1つが常にインデックス列として設定されていることです。
データへのリンクは次のとおりです:http://www.fec.gov/disclosurep/PDownload.do。
ロードコードは次のとおりです(チェックの時間を節約するために、nrows = 10を設定しました):
import pandas as pd
fec = pd.read_csv('P00000001-ALL.csv',nrows=10,index_col=None)
短くするために、データ列の出力を除外していますが、ここに私の出力があります(インデックス値ではありません)。
In [20]: fec
Out[20]:
<class 'pandas.core.frame.DataFrame'>
Index: 10 entries, C00410118 to C00410118
Data columns:
...
dtypes: float64(4), int64(3), object(11)
そして、これが本の出力です(ここでもデータ列は除外されています):
In [13]: fec = read_csv('P00000001-ALL.csv')
In [14]: fec
Out[14]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1001731 entries, 0 to 1001730
...
dtypes: float64(1), int64(1), object(14)
出力のインデックス値は、実際にはファイル内のデータの最初の列であり、残りのすべてのデータが1つずつ左に移動します。このデータ列がインデックスとしてリストされないようにする方法を知っている人はいますか?インデックスを+1増加する整数にしたいのですが。
私はPythonとパンダにかなり慣れていないので、ご不便をおかけして申し訳ありません。ありがとう。