当前位置: 首页 > 知识库问答 >
问题:

如何在列[duplicate]上应用函数

齐英耀
2023-03-14

我写了一个函数来确定工作日。当我试图将其应用于我的数据帧时,会面临以下错误。

data['date'].head() 

0    2016-01-01
1    2016-01-01
2    2016-01-01
3    2016-01-01
4    2016-01-01

def weekday_determination(col):
    year, month, day = (int(x) for x in col.split('-'))
    ans = datetime.date(year, month, day)
    return ans.strftime('%A')

data['week_day'] = data['date'].apply(weekday_determination, axis=1)

我面临以下错误:

TypeError:weekday_determination()获得意外的关键字参数“axis”

共有1个答案

岳时铭
2023-03-14

这里是更好地使用to_datetimeSeries.dt.day_name

data['week_day'] = pd.to_datetime(data['date']).dt.day_name()

print (data)
         date week_day
0  2016-01-01   Friday
1  2016-01-01   Friday
2  2016-01-01   Friday
3  2016-01-01   Friday
4  2016-01-01   Friday

在您的解决方案中使用的是系列。应用,因此没有参数

data['date'] = data['date'].apply(weekday_determination)

使用数据帧的可能解决方案。应用

data['week_day'] = data.apply(lambda x: weekday_determination(x['date']), axis=1)

 类似资料:
  • 我有一个简单的来源。 有没有办法让方法只接收列表,并返回一个可调用的,它将与

  • 假设我有这个命令代码: 我该如何以函数式的方式写这篇文章(就像fold在Scala中做的那样)?

  • 我正在用PHP编写一个基本的网站登录脚本(login_config.PHP)。 我的问题是:在用户安全/保护方面,我是否正确地实现了password_verify()函数? -注意:Post数据是从login.php发送的 代码(LOGIN_CONFIG.PHP): 编辑:我知道其他缺陷,请注意最初的问题。

  • 问题内容: 我是Python的新手,我不确定如何解决以下问题。 我有一个功能: 说我有数据框 而和是浮点类型。现在,我想将公式应用于数据帧的每一行,并将其作为额外的行“ Q”返回。一个示例(不起作用)将是: (仅返回“地图”类型) 在我的项目中,我将需要更多此类处理,并希望找到可行的方法。 问题答案: 以下应该工作: 如果您要做的只是计算某个结果的平方根,则使用矢量化的方法,它将大大加快速度: 时

  • 问题内容: 我正在使用Numpy将数据存储到矩阵中。从R背景开始,有一种极其简单的方法将函数应用于矩阵的行/列或两者。 python / numpy组合是否有类似的东西?编写自己的小实现不是问题,但是在我看来,我想出的大多数版本都将比现有的实现效率低得多/占用更多内存。 我想避免从numpy矩阵复制到局部变量等,这可能吗? 我尝试实现的功能主要是简单的比较(例如,某列中有多少个元素小于数字x,或者

  • 问题内容: 可以说我有一个这样的列表: 我有一个函数,假设我想将该函数应用于该函数的每个子列表,可以计算出有关两个列表的一些分数。如何将此功能应用于的每个列表并在新列表中返回每个分数,如下所示: 我尝试使用以下功能: 问题答案: 您可以使用内置函数来执行此操作。 因此,如果您要应用的函数是,则可以执行以下操作: 在中,上面返回了一个地图迭代器,因此您需要一个显式调用: 如果您要为此编写一些必须在P