パンダのデータフレーム列の値を日時形式で変更したい。基本的に私は常に20秒を行に追加したいと思います。私はpython / pandasに慣れていないので、その問題を解決する方法がわかりません。
これまでの私のコードは次のとおりです。
df_date = dataframe['date'] # get date column
df_date = datedf.to_frame() #convert series to df
for index, row in df_date.iterrows():
if (index % 3 == 0):
#minute +1 f. e. from 12:00:40 to 12:01:0
elif (index % 3 == 1) or (index % 3 == 2):
# seconds + 20
# from 12:01:00 to 12:01:20
# or from 12:01:20 to 12:01:40
データフレームdf_date:
オリジナル:
0 2017-03-10 01:00:00
1 2017-03-10 01:00:00
2 2017-03-10 01:00:00
3 2017-03-10 01:00:00
4 2017-03-10 01:00:00
...
期待される:
0 2017-03-10 01:00:20
1 2017-03-10 01:00:40
2 2017-03-10 01:01:00
3 2017-03-10 01:00:20
4 2017-03-10 01:00:40
..。
これに関するどんな助けもいただければ幸いです!
でnp.arange
複数によって作成されたタイムデルタを追加20
しto_timedelta
ます:
td = pd.to_timedelta(np.arange(1, len(dataframe) + 1) * 20, unit='s')
または作成者timedelta_range
:
td = pd.timedelta_range(0, periods=len(dataframe), freq='20s')
dataframe['date'] = pd.to_datetime(dataframe['date']) + td
print (dataframe)
date
0 2017-03-10 01:00:20
1 2017-03-10 01:00:40
2 2017-03-10 01:01:00
3 2017-03-10 01:01:20
4 2017-03-10 01:01:40
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加