3

平日のデータを読み込んでから、データのインデックスを再作成して、週末を金曜日のデータで埋めます。次のコードを試しましたが、データのインデックスを再作成しません。Set_index は、長さのエラー メッセージを生成します。

import pandas as pd

def fill_dataframe(filename):
    dataf = pd.read_csv(filename, header= None, index_col = [0])
return(dataf)

rng = pd.date_range('10/1/2010', periods=61)
date_rng = pd.DataFrame(rng,index = rng)

data_1.reindex(date_rng, method = 'ffill')

読み込まれたデータには 41 行があり、生成された日付値には 61 行があります。助言がありますか?

data read in by csv (1st 7 rows)
        X0     X1
10/1/2010  71.27
10/4/2010  70.33
10/5/2010  72.94
10/6/2010  74.15
10/7/2010  71.40
10/8/2010  72.58
10/11/2010  72.66

dates generated by rng in the second Data Frame (first 11 rows)
                         0
2010-10-01 2010-10-01 00:00:00
2010-10-02 2010-10-02 00:00:00
2010-10-03 2010-10-03 00:00:00
2010-10-04 2010-10-04 00:00:00
2010-10-05 2010-10-05 00:00:00
2010-10-06 2010-10-06 00:00:00
2010-10-07 2010-10-07 00:00:00
2010-10-08 2010-10-08 00:00:00
2010-10-09 2010-10-09 00:00:00
2010-10-10 2010-10-10 00:00:00
2010-10-11 2010-10-11 00:00:00
4

1 に答える 1

3

(1D)時系列またはシリーズとしての再インデックス付けは、これが機能します(0.10.1で):

data_1.reindex(rng, method = 'ffill')
data_1.reindex(Series(rng, index=rng), method = 'ffill')

.

DataFramedate_rngとして TypeError: Cannot compare Timestamp with 0 を取得します。これはバグである可能性がありますが、予想される動作がどうあるべきか完全にはわかりません...

于 2013-03-28T00:52:37.173 に答える