包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。
如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index()
方法。
datetime
格式。如果日期欄位還不是 datetime
格式,先使用 pd.to_datetime()
進行轉換。set_index()
將日期欄位設置為索引。假設你有一個 DataFrame,其中包含一個名為 Date
的欄位包含日期的資訊
import pandas as pd
# 模擬數據
data = {
'Date': ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04'],
'Value': [100, 200, 150, 300]
}
df = pd.DataFrame(data)
# 確保 'Date' 欄位為 datetime 格式
df['Date'] = pd.to_datetime(df['Date'])
# 將 'Date' 欄位設置為索引
df.set_index('Date', inplace=True)
print(df)
pd.to_datetime()
用來將日期欄位轉換為 datetime
格式。set_index('Date', inplace=True)
將 Date
欄位設置為索引,並且 inplace=True
使得這一操作直接應用於原 DataFrame,而不返回新的 DataFrame。這樣,你就成功地將日期欄位改為了索引,可以更方便地進行基於日期的操作和分析。
import pandas as pd
df = pd.read_csv('F:/python/crab/pandas/test.csv')
df.head()
原先資料的索引是數字,我們依照YrSold的日期來當作索引
# 確保 'Date' 欄位為 datetime 格式
df['YrSold'] = pd.to_datetime(df['YrSold'])
# 將 'Date' 欄位設置為索引
df.set_index('YrSold', inplace=True)
df.head()
在 Pandas 中,除了 datetime
格式外,還有許多其他格式可以用作索引。
以下是一些常見的格式:
df = pd.DataFrame({'Value': [10, 20, 30, 40]})
df.index = [1, 2, 3, 4] # 設定整數索引
df = pd.DataFrame({'Value': [10, 20, 30, 40]})
df.index = [1.1, 2.2, 3.3, 4.4] # 設定浮點數索引
df = pd.DataFrame({'Value': [10, 20, 30, 40]})
df.index = ['A', 'B', 'C', 'D'] # 設定字串索引
df = pd.DataFrame({'Value': [10, 20, 30, 40]})
df.index = pd.Categorical(['Low', 'Medium', 'High', 'Low']) # 設定類別索引