[英]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.