pandas DataFrame(実際にはそのDataFrameの1列のみ)のすべての行に関数を適用しようとしています
私はこれが構文エラーだと確信していますが、私が間違っていることは確かです
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)
そして、私は同じエラーを受け取ります
シリーズにはaxis
パラメータはありません: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.apply.html#pandas.Series.apply
Series.apply(func、convert_dtype = True、args =()、** kwds)
func : function
convert_dtype : boolean, default True
Try to find better dtype for elementwise function results. If False, leave as dtype=object
args : Tuple
Positional arguments to pass to function in addition to the value
df の1つがありますが、シリーズで呼び出すときにこれがどのように動作することを期待しているのか不明ですが、行で動作することを期待していますか?