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:无法从重复轴重新索引
这是我的数据。
我不明白为什么我不能使用asfreq
。因为我使用了另一个成功执行的类似数据。
答案 0 :(得分: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