2016-07-08 2 views
2

私はcsvのデータフレームに時系列データを含めたいと思います。私は、次の手順を使用します。パンダはどのようにしてインデックスを計算しますか?

path = [r'C:\data_' + str(x) + ".csv" for x in range(1150, 1177)] 
data_df = pd.concat(pd.read_csv(f, delimiter = ",", header = None) for f in path) 

data_df.head() 

head

を、結果は以下のようなものです:

それはインデックス(1 187481まで)が異なっている可能性がありどのように
data_df.info() 

indexes

行数から(5387507)?

行う

data_df.reset_index() 

ものは通常の取得:

indexes corrected

それでは、どの最初のインデックスが計算されますか?

+2

'pd.concat()'の呼び出しで 'ignore_index = true'をを使用してみてください。 'pd.read_csv()'を呼び出すたびに、各CSVファイルのインデックスが生成されます。それらを連結すると、デフォルトの 'pd.concat()'だけがコピーされますので、重複することになります... – MaxU

+0

ありがとう@ヘルプのためのMaxU! – jcsun

答えて

2

重複がconcat機能で0からのため、各indexDataFrameの開始は、indexesにあります。

そしてMaxUとしては、ソリューションがconcatにパラメータignore_index=Trueを追加され、コメント - docs

data_df = pd.concat(pd.read_csv(f, delimiter = ",", header = None) for f in path, ignore_index=True) 
+0

素晴らしい!どうもありがとうございました! – jcsun

関連する問題