【发布时间】:2015-05-23 04:48:09
【问题描述】:
我正在尝试将函数应用于 pandas DataFrame 的所有行(实际上只是该 DataFrame 中的一列)
我确定这是一个语法错误,但我知道我做错了什么
df['col'].apply(lambda x, y:(x - y).total_seconds(), args=[d1], axis=1)
col 列包含一堆 datetime.datetime 对象,d1 是其中最早的。我正在尝试获取每一行的总秒数列
EDIT我不断收到以下错误
TypeError: <lambda>() got an unexpected keyword argument 'axis'
我不明白为什么 axis 被传递给我的 lambda 函数
编辑 2
我也试过了
def diff_dates(d1, d2):
return (d1-d2).total_seconds()
df['col'].apply(diff_dates, args=[d1], axis=1)
我得到同样的错误
【问题讨论】:
标签: python pandas dataframe lambda apply