前提・実現したいこと
Python3で、日付カラムの値を条件に、新しいカラムに値を登録したいです。
if文にて条件式を記載しているのですが、条件文の中でエラーが発生しており、その原因がわかっていません。
エラー文から、TRUEかFALSEか判断できないという問題が発生しているのはわかるのですが、
なぜそのようになっているか、ご教示いただけると幸いです。
発生している問題・エラーメッセージ
ValueError Traceback (most recent call last) <ipython-input-29-1240a1f14373> in <module> ----> 1 if df['tmp_column']=='200141': 2 df['new_column'] = 200 3 else: 4 df['new_column'] = 100 /opt/conda/lib/python3.6/site-packages/pandas/core/generic.py in __nonzero__(self) 1574 raise ValueError("The truth value of a {0} is ambiguous. " 1575 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." -> 1576 .format(self.__class__.__name__)) 1577 1578 __bool__ = __nonzero__ ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
該当のソースコード
import pandas as pd df = pd.read_csv('./test.csv',encoding="utf-8") df.head(5) # trade_date #0 2001/4/1 #1 2001/4/2 #2 2001/4/2 #3 2001/4/2 #4 2001/4/2 df['tmp_column'] = pd.to_datetime(df['trade_date']) df['tmp_column'] = (df['tmp_column'].dt.year.astype(str)+df['tmp_column'].dt.month.astype(str)+df['tmp_column'].dt.day.astype(str)) if df['tmp_column']=='200141': df['new_column'] = 200 else: df['new_column'] = 100
試したこと
if分の条件式がTRUEかFALSEか判断できないという問題が発生しているのはわかるのですが、
なぜそのようになっているか理解できていないため、ご教示いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/10 11:44 編集
2021/03/10 11:50
2021/03/10 13:10