如何按日期对 Pandas DataFrame 进行排序?

pythonpandasprogramming

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() 等)来实现特定条件和操作的各种方法。这种类型的程序通常用于数据科学领域。


相关文章