如何在 Excel 中使用 Pandas 排序日期?
像 Excel 這樣強大的應用程式在處理資料陣列方面已經取得了顯著成就,但某些複雜的處理可能需要更強大的工具集。特別是,如果初始資料存在偏差或需要高階排序機制,則對基於日期的條目進行排列的任務可能會帶來獨特的挑戰。Pandas——一個專門為資料處理和分析而設計的強大的 Python 庫——填補了這一空白。本文將闡明如何使用 Pandas 來最佳化 Excel 表格中日期的順序,並對每一行程式碼進行清晰的解釋。
安裝 Pandas 和 OpenPyXL
在我們深入程式碼之前,務必在您的環境中預安裝 Pandas。Python 的包安裝程式 pip 可以簡潔地完成這項工作:
pip install pandas
讓我們開始概述我們努力的通用演算法:
匯入所需的 Python 庫。
將 CSV 檔案匯入 DataFrame。
根據指定的列或條件對 DataFrame 進行排序。
(可選) 將排序後的 DataFrame 存檔回 CSV 檔案。
示例
在下面的例子中,我們將學習如何使用簡單的 pandas 庫在 excel 中排序日期
import pandas as pd
data = {
'Date': ['2023-01-01', '2022-01-01', '2023-05-01', '2022-05-01'],
'Year': [2023, 2022, 2023, 2022],
'Month': [1, 1, 5, 5],
'Day': [1, 1, 1, 1],
'Value': [100, 200, 150, 250]
}
df = pd.DataFrame(data)
print(df)
輸出
Date Year Month Day Value 0 2023-01-01 2023 1 1 100 1 2022-01-01 2022 1 1 200 2 2023-05-01 2023 5 1 150 3 2022-05-01 2022 5 1 250
示例
sort_values(by=['Date'], key=pd.to_datetime)
此技術包括三個關鍵步驟:
a. 匯入 pandas 並將您的 CSV 檔案匯入 DataFrame。
b. 使用 sort_values 對 DataFrame 進行排序。在括號中,“by”指定要排序的列(此處為“Date”),而“key”使用 pd.to_datetime 將“Date”字串轉換為 datetime 物件,以確保精確排序。
c. 瞧!您的 DataFrame 現在已按日期正確排序,從最早到最新。
import pandas as pd
# Read the CSV file into a DataFrame
data = pd.read_csv('filename.csv')
# Sort the DataFrame by the 'Date' column
data.sort_values(by='Date', key=pd.to_datetime, inplace=True)
# Print the sorted DataFrame
print(data)
輸出
Date Value 1 2022-01-01 200 3 2022-05-01 250 0 2023-01-01 100 2 2023-05-01 150
sort_values(by=['Year', 'Month', 'Day'])
此方法主要:
首先匯入 pandas 並將您的 CSV 資料匯入 DataFrame。
使用 sort_values 對 DataFrame 進行排序。這次,我們按多個列排序,這些列在“by”下的列表中指定。DataFrame 將首先按“Year”排序,然後在每個年份內按“Month”排序,最後在每個月份內按“Day”排序。
您的 DataFrame 現在按年份、月份和日期整齊排序。
示例
import pandas as pd
# Read the CSV file into a DataFrame
data = pd.read_csv('filename.csv')
# Sort the DataFrame by the 'Year', 'Month' and 'Day' columns
data.sort_values(by=['Year', 'Month', 'Day'], inplace=True)
# Print the sorted DataFrame
print(data)
輸出
Year Month Day Value 1 2022 1 1 200 3 2022 5 1 250 0 2023 1 1 100 2 2023 5 1 150
sort_values(key=pd.to_datetime)
此方法與其他方法略有不同。以下是其工作原理:
您首先匯入 pandas 並將您的 CSV 資料匯入 DataFrame,類似於以前的方法。
接下來,您使用 sort_values 對 DataFrame 進行排序,但這次沒有指定“by”。相反,您使用“key”將 DataFrame 索引轉換為 datetime 物件(假設索引是日期),這確保了正確的排序。
您的 DataFrame 現在根據日期索引排序。
示例
import pandas as pd
# Read the CSV file into a DataFrame
data = pd.read_csv('filename.csv')
# Sort the DataFrame by the 'Date' column
data.sort_values(by='Date', key=pd.to_datetime, inplace=True)
# Set 'Date' as the DataFrame's index
data.set_index('Date', inplace=True)
# Print the sorted DataFrame
print(data)
輸出
Date Value 2022-01-01 200 2022-05-01 250 2023-01-01 100 2023-05-01 150
sort_index()
此技術的工作原理如下:
首先匯入 pandas 並將您的 CSV 檔案匯入 DataFrame。
使用 sort_index 按其索引對 DataFrame 進行排序。此方法不需要任何引數,因為它會自動按 DataFrame 的索引排序。
您的 DataFrame 現在根據其索引排序。
示例
import pandas as pd
# Read the CSV file into a DataFrame
data = pd.read_csv('filename.csv')
# Sort the DataFrame by its index
data.sort_index(inplace=True)
# Print the sorted DataFrame
print(data)
輸出
Value 0 200 1 100 2 150 3 250
在所有程式碼示例中,請將“filename.csv”替換為 CSV 檔案的實際路徑。
結論
在本文中,我們仔細演示了使用 Pandas 來處理 Excel 檔案中日期順序的過程。Python 的多功能 pandas 庫是一個有效的工具,可以根據各種條件(例如按列值或索引)對 CSV 檔案中的資料進行排序。將排序後的資料存檔回 CSV 檔案保留了結構化資料,以便進一步探索或未來操作,從而展示了 Python 強大的資料處理能力。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP