Pandas:如何从日期中获取季度


您可以使用以下方法从 pandas DataFrame 中的日期获取季度:

方法 1:从日期获取季度(年和季度格式)

 df[' quarter '] = pd. PeriodIndex ( df.date , freq=' Q ')

如果日期是 2022 年第一季度,则将以2022Q1等格式返回该季度。

方法 2:从日期获取季度(季度数字格式)

 df[' quarter '] = df[' date ']. dt . quarter

如果日期是 2022 年第一季度,则只会返回值1

以下示例展示了如何在实践中通过以下 pandas DataFrame 使用此语法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2022 ', freq=' M ', periods= 14 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3, 10, 12]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14
10 2022-11-30 8
11 2022-12-31 3
12 2023-01-31 10
13 2023-02-28 12

示例 1:从日期获取季度(年和季度格式)

我们可以使用以下代码创建一个名为季度的新列,该列以年和季度格式从日期列中提取季度:

 #create new column that displays year and quarter from date column
df[' quarter '] = pd. PeriodIndex ( df.date , freq=' Q ')

#view updated DataFrame
print (df)

         date sales quarter
0 2022-01-31 6 2022Q1
1 2022-02-28 8 2022Q1
2 2022-03-31 10 2022Q1
3 2022-04-30 5 2022Q2
4 2022-05-31 4 2022Q2
5 2022-06-30 8 2022Q2
6 2022-07-31 8 2022Q3
7 2022-08-31 3 2022Q3
8 2022-09-30 5 2022Q3
9 2022-10-31 14 2022Q4
10 2022-11-30 8 2022Q4
11 2022-12-31 3 2022Q4
12 2023-01-31 10 2023Q1
13 2023-02-28 12 2023Q1

名为季度的新列包含年和季度格式的日期列的季度。

示例 2:从日期获取季度(季度数字格式)

我们可以使用以下代码创建一个名为季度的新列,该列以季度数字格式从日期列中提取季度。

 #create new column that displays quarter from date column
df[' quarter '] = df[' date ']. dt . quarter

#view updated DataFrame
print (df)

         date sales quarter
0 2022-01-31 6 1
1 2022-02-28 8 1
2 2022-03-31 10 1
3 2022-04-30 5 2
4 2022-05-31 4 2
5 2022-06-30 8 2
6 2022-07-31 8 3
7 2022-08-31 3 3
8 2022-09-30 5 3
9 2022-10-31 14 4
10 2022-11-30 8 4
11 2022-12-31 3 4
12 2023-01-31 10 1
13 2023-02-28 12 1

名为季度的新列包含日期列中采用季度数字格式的季度数字。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何在 Pandas 中添加和减去日期中的天数
如何在 Pandas 中选择两个日期之间的行
如何在 Pandas 中根据年、月、日创建日期列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注