📌  相关文章
📜  如何按日期对 Pandas DataFrame 进行排序?(1)

📅  最后修改于: 2023-12-03 14:53:07.343000             🧑  作者: Mango

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

在 Pandas 中,可以通过 sort_values() 方法来对 DataFrame 进行排序。而针对日期类型的排序,则需要先将日期转换为时间戳,再进行排序。

下面以示例代码演示如何按日期对 Pandas DataFrame 进行排序:

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({'date': ['2022-06-01', '2022-06-03', '2022-06-02'],
                   'value': [1, 3, 2]})

# 将日期转换为时间戳
df['date'] = pd.to_datetime(df['date'])

# 按日期对 DataFrame 进行排序
df = df.sort_values(by='date')

# 打印排序后的 DataFrame
print(df)

输出结果:

        date  value
0 2022-06-01      1
2 2022-06-02      2
1 2022-06-03      3

在示例代码中,首先创建了一个示例 DataFrame,其中包含了日期和相关数值。接着,将日期列通过 pd.to_datetime() 方法转换为时间戳格式。最后,通过 sort_values() 方法按照日期列的值来对 DataFrame 进行排序。

需要注意的是,sort_values() 方法默认是升序排序,如果需要进行降序排序,则需要设置参数 ascending=False

除了将日期转换为时间戳的方法,还可以使用 sort_index() 方法按照日期列的索引进行排序。具体示例如下:

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({'date': ['2022-06-01', '2022-06-03', '2022-06-02'],
                   'value': [1, 3, 2]})

# 将日期转换为时间戳
df['date'] = pd.to_datetime(df['date'])

# 将日期列设置为索引
df = df.set_index('date')

# 按日期索引对 DataFrame 进行排序
df = df.sort_index()

# 打印排序后的 DataFrame
print(df)

输出结果与前面的示例代码相同。

综上所述,按照日期对 Pandas DataFrame 进行排序,需要先将日期转换为时间戳或者设置日期列为索引。接着,使用 sort_values()sort_index() 方法来对 DataFrame 进行排序。