以下に示すようなデータフレームがあります。
df =
index value
2014-05-21 10:00:00 13.0
2014-05-21 10:30:00 8.0
2014-05-21 11:00:00 9.0
2014-05-21 11:30:00 7.0
2014-05-21 12:00:00 2.0
....
最初に新しい値2を追加するにはどうすればよいですか?
df =
index value
2014-05-21 09:30:00 2.0 <- new value with new index automatically
2014-05-21 10:00:00 13.0 calculated ( 10 o'clock - 30min(timestep))
2014-05-21 10:30:00 8.0
2014-05-21 11:00:00 9.0
2014-05-21 11:30:00 7.0
2014-05-21 12:00:00 2.0
そして
type(df.index) = pandas.core.indexes.datetimes.DatetimeIndex
最初のインデックスに値を追加したいのですが、日時はタイムステップ(この場合は30分)によって自動的に計算されますが、それを行うためのより良い方法はありますか?
前もって感謝します !
df.loc[df.index[0] - pd.offsets.Minute(30), 'value'] = 2
df = df.sort_index()
df
value
index
2014-05-21 09:30:00 2.0
2014-05-21 10:00:00 13.0
2014-05-21 10:30:00 8.0
2014-05-21 11:00:00 9.0
2014-05-21 11:30:00 7.0
2014-05-21 12:00:00 2.0
自然にデクリメントできるように、インデックスの頻度を設定します。
これは@rootで答えからであるHERE
from pandas.tseries.frequencies import to_offset
df.index.freq = to_offset(df.index.inferred_freq)
df.combine_first(pd.DataFrame(dict(value=[2]), [df.index[0] - 1]))
value
index
2014-05-21 09:30:00 2.0
2014-05-21 10:00:00 13.0
2014-05-21 10:30:00 8.0
2014-05-21 11:00:00 9.0
2014-05-21 11:30:00 7.0
2014-05-21 12:00:00 2.0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加