2017-03-22 20 views
0
input_number=pd.read_csv(r'C:\Users\champion\Desktop\data_science_race\104.1~106.1\input_output\input\input_number.csv' 
         ,thousands=',',encoding='big5') 
dates=pd.DatetimeIndex(input_number['date']) 
input_number.index=dates 
business_day=input_number.resample('B').asfreq() 

ValueError: cannot reindex from a duplicate axisなぜ私はasfreq()を使用できないのですか?

これは私のデータです。

enter image description here

私はasfreqを使用することはできませんなぜ私は理解していません。なぜなら私は別の同様のデータをうまく使っているからです。

+0

使用しているデータを表示してください(限定的な例)。 – languitar

+0

例を実行できる必要があります。私たちはあなたのファイルを持っていないので、あなたが追加したものは私たちの多くを助けません。 'StringIO'オブジェクトを使ってファイルをモックしてください。 –

答えて

0

リサンプルを正しく使用していません。あなただけ.asfreq使用周波数を変更したい場合は

などがあります。

import pandas as pd 
import numpy as np 

rng = pd.date_range('1/1/2011', periods=72, freq='D') 
ts = pd.Series(np.random.randn(len(rng)), index=rng) 

ts.asfreq('B') 
Out[25]: 
2011-01-03 0.518565 
2011-01-04 0.104616 
2011-01-05 0.030174 
2011-01-06 0.623529 
2011-01-07 0.329330 
2011-01-10 -0.012481 
2011-01-11 1.119546 
2011-01-12 -0.831261 
2011-01-13 -0.137491 

リサンプルは何か他のもので、それはあなたのデータをリサンプリングし、そのリサンプルに関数を適用することができます。週ごとに再サンプリングして、その週の最終価値を確認することができます:

ts.resample('W').last() 
Out[26]: 
2011-01-02 0.401549 
2011-01-09 0.800291 
2011-01-16 0.843909 
2011-01-23 -0.022525 
2011-01-30 -0.225117 
2011-02-06 0.338157 
2011-02-13 -0.570128 
2011-02-20 0.213254 
2011-02-27 0.130544 
2011-03-06 -1.652924 
20 

11-03-13 0.220274 
Freq: W-SUN, dtype: float64 
関連する問題