3
私は毎年書式設定され、毎月毎月の財務データを取得する作業を進めています。私のモデルは毎月それを必要とするので、私は同じ毎年の価値が毎月繰り返される必要があります。私はこのstack postを使用していて、自分のデータにコードを適合させようとしています。ここでパンダは毎年毎月に変換する
は私のデータフレームです:
date ticker value
0 1999-12-31 ECB/RA6 1.0
1 2000-01-31 ECB/RA6 4.0
2 2000-02-28 ECB/RA6 4.0
3 2000-13-31 ECB/RA6 4.0
4 2000-04-30 ECB/RA6 4.0
そして、私のコード:ここで
df.head()
date ticker value
0 1999-12-31 ECB/RA6 1.0
1 2000-12-31 ECB/RA6 4.0
2 2001-12-31 ECB/RA6 2.0
3 2002-12-31 ECB/RA6 3.0
4 2003-12-31 ECB/RA6 2.0
は私の所望の出力最初の5行です
df['date'] = pd.to_datetime(df['date'], format='%Y-%m')
df = df.pivot(index='date', columns='ticker')
start_date = df.index.min() - pd.DateOffset(day=1)
end_date = df.index.max() + pd.DateOffset(day=31)
dates = pd.date_range(start_date, end_date, freq='M')
dates.name = 'date'
df = df.reindex(dates, method='ffill')
df = df.stack('ticker')
df = df.sortlevel(level=1)
df = df.reset_index()
しかし、それが繰り返されていません月は予想どおり
ごとにこれを処理するには、次の方法で非一意のインデックスのインデックスを再作成または私は理由は、私は複数のティッカーを持っていると思う – jKraut
を制限することはできません、したがって、日付は繰り返されます – jKraut
@jKraut更新された投稿を参照してください – piRSquared