选择两个日期之间的Pandas数据框架行

  • Post category:Python

要选择两个日期之间的Pandas数据框架行,需要注意以下步骤:

1. 检查日期列是否是日期类型

确保你的数据框架中的日期列是Pandas日期时间数据类型,如果不是则进行转换。可以使用pd.to_datetime()函数将日期数据类型转换为Pandas日期时间数据类型。

import pandas as pd

data = {'date':['2020-01-01','2020-01-02','2020-01-03','2020-01-04'],
       'value':[1,2,3,4]}

df = pd.DataFrame(data)

# 将日期列转换为日期时间数据类型
df['date'] = pd.to_datetime(df['date'])

print(df.dtypes)

输出:

date     datetime64[ns]
value             int64
dtype: object

2. 设置日期列为索引

将日期列设置为索引,以便更轻松地选择数据框架中的日期范围。可以使用set_index()函数将日期列设置为索引。

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

print(df)

输出:

            value
date             
2020-01-01      1
2020-01-02      2
2020-01-03      3
2020-01-04      4

3. 选择两个日期之间的行

使用loc[]函数选择两个日期之间的行。loc[]函数允许使用日期范围的开始和结束日期来选择行。

# 选择2020年1月1日到2020年1月3日之间的行
df = df.loc['2020-01-01':'2020-01-03']

print(df)

输出:

            value
date             
2020-01-01      1
2020-01-02      2
2020-01-03      3

完整代码示例:

import pandas as pd

data = {'date':['2020-01-01','2020-01-02','2020-01-03','2020-01-04'],
       'value':[1,2,3,4]}

df = pd.DataFrame(data)

# 将日期列转换为日期时间数据类型
df['date'] = pd.to_datetime(df['date'])

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

# 选择2020年1月1日到2020年1月3日之间的行
df = df.loc['2020-01-01':'2020-01-03']

print(df)

输出:

            value
date             
2020-01-01      1
2020-01-02      2
2020-01-03      3

以上就是选择两个日期之间的Pandas数据框架行的完整攻略。