dup
の列の値がFalse
の場合、time
の値をplotList
に追加しようとしています。 ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
Pandasの後ろにelse文を追加する
は誰が起こっているa)のかを説明できることを、私は、これはうまくいくかもしれないと思っていたが、私はエラーを取得
DF =
lat time trip_id diff shifted Segment dup
-7.12040 2015-12-24 02:03:10 18060.0 0.00003 0.00000 1 False
-7.12043 2015-12-24 02:03:12 18060.0 0.00000 0.00003 2 False
-7.12043 2015-12-24 02:03:14 18060.0 0.00003 0.00003 2 True
-7.12046 2015-12-24 02:03:16 18060.0 0.00003 0.00003 2 True
-7.12049 2015-12-24 02:03:19 18060.0 0.00003 0.00000 3 False
-7.12052 2015-12-24 02:03:22 18060.0 0.00000 -0.00473 4 False
コード=
plotList=[]
def pullLine(row):
if row['dup'] == False:
plotList.append(row['time'])
pullLine(df)
ここで、そしてb)避けるために私ができることは? False
が曖昧になることがあるかどうか尋ねる方法を理解できません。
多くのありがとうございます。
plotList = df.loc[df['dup'] == False, 'time'].values
あなたはあなたの関数へのパラメータとして全体のDFを渡しているが、1行としてそれを扱っている
...
に応じて:
'row'は何ですか?あなたのデータを生成し、 'pullLine'関数を適用する完全な例を作ることができますか? –
'df ['time'] [〜df ['dup']]'は動作するはずですか?あるいは、applyを使う必要があります: 'df.apply(pullLine、axis = 1)'はあなたの 'plotList'で期待どおりに動作します。 – jeremycg