日期在 Dataframe 中显示为 None

Date appears in Dataframe as None

1.-我想创建一个数据框,其中包含一个日期为今天的列。但是当我尝试时,结果是带有 None´s

的列

2.- 我试过一些库和解析,但它不起作用

3.- 这是我的代码:

def tipo_uno():
    dt = datetime.datetime.now()
    ceros = [0,0,0,0,0,0,0,0,0,0]
    df_ti = pd.DataFrame({'ID_KQI': ceros, 'FECHA_PROCESO': ceros, 'FECHA_CONTABLE':ceros, 'NUMERADOR':ceros, 'POBLACION_TOTAL':ceros, 'ID_INFORME':ceros, 'ID_ENTIDAD':ceros, 'ARCHIVO':arr_para_fr})
    df_ti = df_ti.set_index('ARCHIVO')
    fecha = print("{}/{}/{}".format(dt.day, dt.month, dt.year))
    df_ti.FECHA_PROCESO.replace( [0] , [fecha], inplace=True)
    return df_ti

tipo_uno()

print in Python 没有 return 任何东西,所以你不想分配它。您想使用 strftime 方法来创建您的时间的字符串表示形式。

这会起作用:

def tipo_uno():
    ceros = [0,0,0,0,0,0,0,0,0,0]
    df_ti = pd.DataFrame({'ID_KQI': ceros, 'FECHA_PROCESO': ceros, 'FECHA_CONTABLE':ceros, 'NUMERADOR':ceros, 'POBLACION_TOTAL':ceros, 'ID_INFORME':ceros, 'ID_ENTIDAD':ceros, 'ARCHIVO':'arr_para_fr'})
    df_ti = df_ti.set_index('ARCHIVO')
    fecha = datetime.datetime.now().strftime('%d/%m/%Y')
    df_ti.FECHA_PROCESO.replace( [0] , [fecha], inplace=True)
    return df_ti

tipo_uno()

更好的办法是直接赋值,而不是首先使用一系列零作为占位符:

df_ti['FECHA_PROCESO'] = datetime.datetime.now().strftime('%d/%m/%Y')

最后请注意,inplace 参数计划在 Pandas 的未来版本中弃用。最好使用赋值,所以在你的例子中:

df_ti.FECHA_PROCESO = df_ti.FECHA_PROCESO.replace([0], [fecha])