如何使用 Pandas 對 DataFrame 按日期排序?
Python 的 Pandas DataFrame 定義了一個由行和列組成的二維結構。Pandas 的主要特點是提供了一種更簡單的方式來處理給定的資料。在 Python 中,我們有一些內建函式,例如 to_datetime()、sorted()、lambda 和 sort_value(),可以用來對 Pandas DataFrame 按日期排序。
語法
以下語法在示例中使用:
to_datetime()
to_datetime() 是 Python 中的一個內建函式,用於將字串日期轉換為日期時間物件。
sorted()
Python 的內建函式 sorted() 指出列表可以按指定的可迭代物件進行排序。
lambda
Python 中的 lambda 函式被稱為匿名函式。當需要函式物件時可以使用它。此函式操作程式的主要邏輯部分。
sort_values()
sort_values() 是 Python 中的一個內建函式,用於按升序或降序對 DataFrame 進行排序。
使用 sort_values() 函式
在以下示例中,我們將從匯入 pandas 模組開始程式,該模組將用於按日期處理 DataFrame。然後建立變數 d 來定義輸入字典。接下來,使用內建函式 DataFrame() 設定 DataFrame 並將其儲存在變數 df 中。然後使用內建函式 to_datetime 設定日期的格式,並將其儲存在變數 df['Date'] 中。繼續初始化名為 Date_result 的最後一個變數,該變數儲存值為 df.sort_value() 的值,它接受兩個引數 - 'Date' 和 ascending = True 以升序對 DataFrame 進行排序。最後,它將在 Date_result 變數的幫助下列印結果。
示例
import pandas as pd # Create a sample DataFrame d = { 'Date': ['2023-06-26', '2023-06-27', '2023-06-28', '2023-06-29'], 'Value': [100, 200, 300, 400] } # Set the dataframe for date df = pd.DataFrame(d) # Convert the 'Date' column to datetime format df['Date'] = pd.to_datetime(df['Date']) # Sort the dataframe in ascending order Date_result = df.sort_values('Date', ascending=True) # The final output print("Result of pandas Dataframe by Date:\n", Date_result)
輸出
Result of pandas Dataframe by Date: Date Value 0 2023-06-26 100 1 2023-06-27 200 2 2023-06-28 300 3 2023-06-29 400
使用 sorted() 函式
在以下示例中,程式使用兩種主要方法,即列表推導式和 sorted() 作為內建函式 DataFrame() 的引數來生成結果。
示例
import pandas as pd # Create a sample DataFrame d = { 'Date': ['2023-06-26', '2023-06-27', '2023-06-28', '2023-06-29'], 'Value': [11, 31, 456, 8534] } # Create the dataframe df = pd.DataFrame(d) # Conversion of date into datetime format df['Date'] = pd.to_datetime(df['Date']) # using list comprehension and sorted() res = pd.DataFrame(sorted(df.values, key=lambda x: x[0]), columns=df.columns) # The final output print("Result of pandas Dataframe by Date:\n", res)
輸出
Result of pandas Dataframe by Date: Date Value 0 2023-06-26 11 1 2023-06-27 31 2 2023-06-28 456 3 2023-06-29 8534
在 sort_values() 中使用 inplace 引數
在以下示例中,程式使用內建函式 to_datetime(),它接受 df['date'] 作為引數來設定日期時間格式的列。接下來,它將使用內建函式 sort_values(),它接受兩個引數 - Date 和 inplace = true,這意味著它按日期對 DataFrame 進行排序。
示例
import pandas as pd # Create a sample DataFrame data = { 'Date': ['2023-06-15', '2023-06-14', '2023-06-17', '2023-06-16'], 'Value': [10, 20, 30, 40] } df = pd.DataFrame(data) # Convert the 'Date' column to datetime format df['Date'] = pd.to_datetime(df['Date']) # Sort the DataFrame by the Date column using the parameter inplace df.sort_values('Date', inplace=True) print(df)
輸出
Date Value 1 2023-06-14 20 0 2023-06-15 10 3 2023-06-16 40 2 2023-06-17 30
使用 to_datetime() 函式
在以下示例中,我們將使用內建函式 DataFrame(),它接受變數 data 作為引數。使用此函式將資料轉換為 DataFrame。DataFrame 通常以二維方式建立資料。接下來,使用內建函式 to_datetime() 設定給定輸入日期的格式並生成結果。
示例
import pandas as pd # Create a sample DataFrame data = { 'Date': ['2023-06-15', '2023-06-14', '2023-06-17', '2023-06-16'], 'Value': [10, 20, 30, 40], 'Attendance': ['Present', 'Present', 'Absent', 'Absent'] } # Create the dataframe for date df = pd.DataFrame(data) # Convert the 'Date' column to datetime format df['Date'] = pd.to_datetime(df['Date']) print("The Dataframe of Date result:\n", df)
輸出
The Dataframe of Date result: Date Value Attendance 0 2023-06-15 10 Present 1 2023-06-14 20 Present 2 2023-06-17 30 Absent 3 2023-06-16 40 Absent
結論
Pandas 是一個開源庫,代表著 Python 的頂級庫。在本文中,我們討論了各種方法,其中使用了一些內建函式,例如 to_datetime()、DataFrame() 等,來滿足特定條件和操作。這種型別的程式通常用於資料科學領域。