我试图将一个函数应用于pandas数据帧的所有行(实际上只有该数据帧中的一列)
我肯定这是语法错误,但我知道我做错了什么
df['col'].apply(lambda x, y:(x - y).total_seconds(), args=[d1], axis=1)
col
列包含一组adatetime.datetime
对象,其中d1
是最早的。我试图得到每行的总秒数的列
编辑我一直收到以下错误
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)
我也犯了同样的错误
一个序列没有
axis
参数:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.apply.html#pandas.Series.apply有一个是给adf的,但是不清楚当你在一个系列中调用它时,你期望它是如何工作的,但是你期望它在一个连续的系列中工作?
相关问题 更多 >
编程相关推荐