【问题标题】:how to properly apply a vector based function to a pandas dataframe column?如何正确地将基于向量的函数应用于熊猫数据框列?
【发布时间】:2021-02-02 22:57:51
【问题描述】:

我正在尝试应用一个以特定格式返回特定日期的函数,但是我正在努力将此函数应用于新的 pandas 数据框列。

这是我目前得到的:

import pandas as pd
import datetime

actual_date = datetime.now()
actual_date = datetime.strptime("{}/{}/{}".format('01', actual_date.month, actual_date.year), "%d/%m/%Y")

def set_date(actual_date):
    result = actual_date - dateutil.relativedelta.relativedelta(months=1)
    print(datetime.strftime(result, "%d/%m/%Y"))

df['date'] = df.apply(lambda x: set_date(x[actual_date]), axis=1)

出现下一个错误:

KeyError: datetime.datetime(2021, 2, 1, 0, 0)

预期输出可能是 pandas 数据框列,其中行值为 set_date 输出。

我怎样才能完成这项任务?

【问题讨论】:

    标签: python pandas dataframe datetime lambda


    【解决方案1】:

    该问题与xlambda 的设置有关:

    df['date']= df.apply(lambda x: set_date(actual_date), axis=1)
    

    【讨论】:

      【解决方案2】:

      我怀疑它缺少 lambda 函数的目标列。

      df['date']= df['date'].apply(lambda x: set_date(actual_date), axis=1)
      

      【讨论】:

        猜你喜欢
        • 2019-02-07
        • 2018-11-13
        • 1970-01-01
        • 2021-02-12
        • 2020-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多