[Python][Pandas]將日期欄位改為 DataFrame 的索引

更新於 發佈於 閱讀時間約 1 分鐘

包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。

如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index() 方法。

實作範例數據來源


raw-image

處理步驟

  1. 確保日期欄位是 datetime 格式。如果日期欄位還不是 datetime 格式,先使用 pd.to_datetime() 進行轉換。
  2. 使用 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)

輸出

raw-image


說明

  • 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()
raw-image

原先資料的索引是數字,我們依照YrSold的日期來當作索引

# 確保 'Date' 欄位為 datetime 格式
df['YrSold'] = pd.to_datetime(df['YrSold'])

# 將 'Date' 欄位設置為索引
df.set_index('YrSold', inplace=True)
df.head()
raw-image

在 Pandas 中,除了 datetime 格式外,還有許多其他格式可以用作索引。

以下是一些常見的格式:

1. 整數(Integer)

  • 用途:常用於數據集中,作為唯一標識的 ID 或順序標記。
  • 範例
    df = pd.DataFrame({'Value': [10, 20, 30, 40]})
    df.index = [1, 2, 3, 4] # 設定整數索引

2. 浮點數(Float)

  • 用途:可用於數值型數據的索引,特別是當數據有小數時。
  • 範例
    df = pd.DataFrame({'Value': [10, 20, 30, 40]})
    df.index = [1.1, 2.2, 3.3, 4.4] # 設定浮點數索引

3. 字串(String)

  • 用途:字串索引用於具有唯一標識符的資料,如名稱、代碼、標籤等。
  • 範例
    df = pd.DataFrame({'Value': [10, 20, 30, 40]})
    df.index = ['A', 'B', 'C', 'D'] # 設定字串索引

4. 類別(Categorical)

  • 用途:當有固定數量的唯一值(類別)時,可用於提高效能,減少內存使用。
  • 範例
    df = pd.DataFrame({'Value': [10, 20, 30, 40]})
    df.index = pd.Categorical(['Low', 'Medium', 'High', 'Low']) # 設定類別索引


留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
149會員
284內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2024/09/14
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
Thumbnail
2024/09/14
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
Thumbnail
2024/09/01
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
2024/09/01
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
2024/08/29
接續上一篇文章,使用kaggle平台上的數據資料來實作說明。 [Python ]pandas基本操作,查看、新增、修改資料 用 pandas (pd) 來畫圖了解 MentalHealthSurvey 資料結構,圖表可以幫助你直觀地瞭解 MentalHealthSurvey 資料的結構和變數
Thumbnail
2024/08/29
接續上一篇文章,使用kaggle平台上的數據資料來實作說明。 [Python ]pandas基本操作,查看、新增、修改資料 用 pandas (pd) 來畫圖了解 MentalHealthSurvey 資料結構,圖表可以幫助你直觀地瞭解 MentalHealthSurvey 資料的結構和變數
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,融合不同的資料欄位。 以product作為index,融合quarter_1,quarter_2,quarter_3,quarter_4 這四個欄位,並且重新命名為quarter,並且將數值欄位名稱重
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,融合不同的資料欄位。 以product作為index,融合quarter_1,quarter_2,quarter_3,quarter_4 這四個欄位,並且重新命名為quarter,並且將數值欄位名稱重
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,將資料表做樞紐轉換,垂直方向是月份,水平方向是不同的城市,而表格內容是該城市在某個月份的溫度。 題目的原文敘述 測試範例 Example 1: Input: +--------------+-
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,將資料表做樞紐轉換,垂直方向是月份,水平方向是不同的城市,而表格內容是該城市在某個月份的溫度。 題目的原文敘述 測試範例 Example 1: Input: +--------------+-
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將欄位grade的資料型別從原本的float變更為int整數型別。 題目的原文敘述 測試範例 Example 1: Input: DataFrame students: +------------
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將欄位grade的資料型別從原本的float變更為int整數型別。 題目的原文敘述 測試範例 Example 1: Input: DataFrame students: +------------
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表salary欄位為基準,把每一筆資料的薪水salary欄位值更新為原本的兩倍。 題目的原文敘述 測試範例 Example 1: Input: DataFrame employees +--------
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表salary欄位為基準,把每一筆資料的薪水salary欄位值更新為原本的兩倍。 題目的原文敘述 測試範例 Example 1: Input: DataFrame employees +--------
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News