簡體   English   中英

根據日期范圍更新 Pandas DataFrame 時間列

[英]update Pandas DataFrame time column based on a date range

我上傳了一個大文件並為其創建了一個 DataFrame。

現在我想更新一些包含時間戳的列,並在可能的情況下更新帶有基於該時間戳的日期的列。

原因是我想調整夏令時,而我正在使用的列表是 GMT 時間,所以我需要調整它的時間戳。

有效的例子:

df_winter2['Confirmation_Time'] = pd.to_datetime(df_winter2['Confirmation_Time'].astype(str)) + pd.DateOffset(hours=7)

df_summer['Confirmation_Time'] = pd.to_datetime(df_summer['Confirmation_Time'].astype(str)) + pd.DateOffset(hours=6)

我想寫一個 function,首先根據是夏季還是冬季將 6 或 7 小時添加到 DataFrame。

如果有可能,如果時間戳 > 16:00 + 1 天,我想更新日期列,日期列稱為 df['Creation_Date']

如果是冬天,這應該適用於 function。

def wintertime(date_time):


year, month, day = dt.timetuple()[0:3]

if (month < 3) or (month == 12 and day < 21):
    return True

else:
    return False

現在我猜你還想遍歷你的 df 並分別更新時間,你可以使用以下方法:

for i, length in enumerate (df):
   date_time = df['Confirmation_Time'][i]

if wintertime(date_time):

   df['Confirmation_Time'][i] = pd.to_datetime(df['Confirmation_Time'][i].astype(str)) + pd.DateOffset(hours=7)

else:

   df['Confirmation_Time'][i] = pd.to_datetime(df['Confirmation_Time'][i].astype(str)) + pd.DateOffset(hours=6)

return df

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM