Python 3.x 如何在列上应用函数

Python 3.x 如何在列上应用函数,python-3.x,pandas,apply,Python 3.x,Pandas,Apply,我编写了一个函数来确定工作日。当我尝试将其应用于数据帧时,会遇到以下错误 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.dat

我编写了一个函数来确定工作日。当我尝试将其应用于数据帧时,会遇到以下错误

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”

以下是更好的使用方法:

在您的解决方案中使用,因此没有参数

data['date'] = data['date'].apply(weekday_determination)
可能的解决方案包括:


data['date'].apply(工作日确定)
对我有效,没有
axis=1
我们没有任何名为'date'的索引,这怎么可能?此外,我需要申请整个列,这就是我添加“axis=1”的原因
data['date'] = data['date'].apply(weekday_determination)
data['week_day'] = data.apply(lambda x: weekday_determination(x['date']), axis=1)