我有一個帶有日期列(DATUM)的資料框(df)。然后我嘗試在日期上創建一個帶有 iso 周的新列。
但是作為python的初學者,我遇到了一個問題。當我嘗試使用時:
df ['iso_week_num'] = df ["DATUM"]. isocalendar () [1]
我收到以下錯誤訊息:
AttributeError: 'Series' object has no attribute 'isocalendar'
我究竟做錯了什么?
uj5u.com熱心網友回復:
請注意,isocalendar 必須應用于時間戳(檢查檔案) - 它不是引發錯誤的屬性。說,這應該適用于您的情況:
# Generating some data (you may use rand too):
dates = ['2021-01-03', '2021-01-04', '2021-01-05', '2021-01-06', '2021-01-07']
dataframe = pd.DataFrame(data = dates, columns = ['date'])
dataframe['date'] = pd.to_datetime(dataframe['date'])
# Applying isocalendar for each element in the series:
dataframe['year'] = dataframe['date'].apply(lambda x: x.isocalendar()[0])
uj5u.com熱心網友回復:
您應該使用pandas.Series.dt()來訪問物件以獲取 Series 值的 datetimelike 屬性。
df['week'] = df['date'].dt.isocalendar().week
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450717.html
上一篇:使用id和某個日期時間之前的組合過濾pandas資料幀(按id)
下一篇:將資料框的一組行移到開頭
