質問: pythonで質問です。 pandas でエクセル1を読み込み、ある任意の列をリスト化したいと考えています。 リスト化したあと、別のエクセル2のある列の値をfor文でサーチして、先ほどリスト化したもののリストと一致したら 処理を加えるという作業を行いたいです。 以下実行した作業です。 df=pd.read_excel(r"C:/Users/sample.xlsx",index=0,dtype="object",sheet_name="1") list1=[df["任意の列"]] for r in range(0,sum_n): if pt.iat[r,10] in list1: pt.iat[r,sum_column]=pt.iat[r,sum_column2-3] (sum_n → 行数 sum_column → 列数 です) 実行後エラー ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 申し訳ありませんがご教授お願い致します。
回答: `list1=[df["任意の列"]]`だと`df["任意の列"]`という**Seriesを1つ持つリスト**という意味になってしまいます。 リストに変換するには`list1 = df['任意の列'].tolist()`としてください。