日期时间格式更改并平均至 15 分钟

问题描述 投票:0回答:1
DateTime 2/16/2024  7:29:00  2/16/2024  7:28:00  2/16/2024  7:27:00  2/16/2024  7:26:00  2/16/2024  7:25:01  2/16/2024  7:24:01  2/16/2024  7:23:01  2/16/2024  7:22:01  2/16/2024  7:21:00  2/16/2024  7:20:00  2/16/2024  7:19:00  2/16/2024  7:18:00  2/16/2024  7:17:00  2/16/2024  7:16:01  2/16/2024

这是我的数据框,其中

datetime
m/dd/yyyy h:m:s
格式,并且数据按降序排列,因此我无法将其重新采样为 15 分钟平均值。如何更改日期时间格式并将日期顺序更改为升序?

 df_AERON['DateTime'] = pd.to_datetime(df_AERON.DateTime, format='%m/%d/%Y %H:%M:%S')
  df_AERON['DateTime'] = df_AERON['DateTime'].dt.strftime('%d/%m/%Y %H:%M:%S')
  df_AERON.set_index('DateTime', inplace=True)
  df_AERON.index = pd.to_datetime(df_AERON.index)
  df_AERON_15min = df_AERON.resample('15min').mean()

使用了此代码,但重新采样的日期不是从一月开始,而是从 2024-01-02 00:00:00开始

python datetime-format
1个回答
0
投票

试试这个:

import pandas as pd

# Assuming df_AERON is your DataFrame
df_AERON = pd.DataFrame({
    'DateTime': [
        '2/16/2024 7:29:00', '2/16/2024 7:28:00', '2/16/2024 7:27:00',
        '2/16/2024 7:26:00', '2/16/2024 7:25:01', '2/16/2024 7:24:01',
        '2/16/2024 7:23:01', '2/16/2024 7:22:01', '2/16/2024 7:21:00',
        '2/16/2024 7:20:00', '2/16/2024 7:19:00', '2/16/2024 7:18:00',
        '2/16/2024 7:17:00', '2/16/2024 7:16:01', '2/16/2024 7:15:00'
    ],
    'Data': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
})

# Convert 'DateTime' column to datetime format
df_AERON['DateTime'] = pd.to_datetime(df_AERON['DateTime'])

# Sort DataFrame by 'DateTime' column in ascending order
df_AERON.sort_values(by='DateTime', ascending=True, inplace=True)

# Resample the DataFrame to get 15-minute averages
df_AERON_15min = df_AERON.set_index('DateTime').resample('15min').mean()

print(df_AERON_15min)

输出:

                     Data
DateTime                 
2024-02-16 07:15:00   8.0
© www.soinside.com 2019 - 2024. All rights reserved.