为Fiscar QTR/Y创建日期列

2024-05-19 10:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在数据框中创建一个新的日期列。日期列的格式如下,例如“2019-02-04”

def fiscal_date(row):
    if row['Date'] >= '2018-02-01' and row['Date'] < '2018-05-01':
        return 'FY19 Q1'
    if row['Date'] >= '2018-05-01' and row['Date'] < '2018-08-01':
        return 'FY19 Q2'
    if row['Date'] >= '2018-08-01' and row['Date'] < '2018-11-01':
        return 'FY19 Q3'

当我尝试应用函数时,data['Fiscal']=data.apply(Fiscal\u date,axis=1) 获取此错误: 类型错误:(“'>;=”“Timestamp”和“str”的实例之间不支持(“发生在索引0上”)


Tags: and数据datadatereturnifdef格式
2条回答

您可以在第二个比较中看到,您从未指定行

试着写row['Date'] < '2018-05-01',而不是只写['Date'] < '2018-05-01'

像这样:

if row['Date'] >= '2018-02-01' and row['Date'] < '2018-05-01':

我假设错误来自这一部分:if row['Date'] >= '2018-02-01',您试图将row['Date']这是时间戳与'2018-02-01'这是字符串进行比较。'2018-02-01'应转换为datetime对象:

import datetime

datetime.datetime.strptime('2018-02-01', '%Y-%m-%d')

相关问题 更多 >

    热门问题