如何按日期对 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 中的内置函数,可按升序和降序对数据框进行排序。
使用 sort_values() 函数
在下面的示例中,我们将通过导入 pandas 模块来启动程序,该模块将用于按日期处理数据框。然后创建变量 d 来定义输入字典。接下来,使用内置函数 DataFrame() 设置数据框并将其存储在变量 df 中。然后使用内置函数 to_datetime 设置日期格式并将其存储在变量 df['Date'] 中。继续初始化最后一个名为 Date_result 的变量,该变量将值存储为 df.sort_value(),它接受两个参数 - "Date"和ascending = True,以升序对数据框进行排序。最后,它将在变量 Date_result 的帮助下打印结果。
示例
import pandas as pd # 创建示例 DataFrame d = { 'Date': ['2023-06-26', '2023-06-27', '2023-06-28', '2023-06-29'], 'Value': [100, 200, 300, 400] } # 设置日期数据框 df = pd.DataFrame(d) # 将"日期"列转换为日期时间格式 df['Date'] = pd.to_datetime(df['Date']) # 按升序对数据框进行排序 Date_result = df.sort_values('Date', accending=True) # 最终输出 print("按日期对 pandas Dataframe 进行排序的结果:\n", Date_result)
输出
按日期对 pandas Dataframe 进行排序的结果: 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 # 创建示例 DataFrame d = { 'Date': ['2023-06-26', '2023-06-27', '2023-06-28', '2023-06-29'], 'Value': [11, 31, 456, 8534] } # 创建数据框 df = pd.DataFrame(d) # 将日期转换为日期时间格式 df['Date'] = pd.to_datetime(df['Date']) # 使用列表推导和 sorted() res = pd.DataFrame(sorted(df.values, key=lambda x: x[0]), columns=df.columns) # 最终输出 print("按日期排列的 pandas Dataframe 的结果:\n", res)
输出
按日期排列的 pandas Dataframe 的结果: 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 # 创建示例 DataFrame data = { 'Date': ['2023-06-15', '2023-06-14', '2023-06-17', '2023-06-16'], 'Value': [10, 20, 30, 40] } df = pd.DataFrame(data) # 将"Date"列转换为日期时间格式 df['Date'] = pd.to_datetime(df['Date']) # 使用参数按日期列对 DataFrame 进行排序就地 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(),该函数接受参数作为变量数据。使用此函数会将数据转换为数据框。数据框通常以二维形式创建数据。接下来,使用内置函数 to_datetime() 设置给定输入日期的格式并生成结果。
示例
import pandas as pd # 创建示例 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'] } # 创建日期数据框 df = pd.DataFrame(data) # 将"日期"列转换为日期时间格式 df['Date'] = pd.to_datetime(df['Date']) print("日期结果的数据框:\n", df)
输出
日期结果的数据框: 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() 等)来实现特定条件和操作的各种方法。这种类型的程序通常用于数据科学领域。