前提・実現したいこと
xlsxファイルを取り込み、80列ほどあるデータ(データ型は様々)の中から二つの列を取り出し
if文で3つの列に振り分けて、元のファイルに挿入していこうとしています。
【抽出したデータ】
金額コード | 金額 |
---|---|
5555 | 2000 |
6666 | 3000 |
666A | 4000 |
【振り分け後】
金額コード | 金額 | 出張費 | 接待費 | 雑費 |
---|---|---|---|---|
5555 | 2000 | 2000 | ||
6666 | 3000 | 3000 | ||
666A | 4000 | 4000 |
エラーメッセージの意味は分かったのですが、どうやればdataframe内の列を自由に
振り分けられるのかがわかりませんでした・・・
ご教授いただければ幸いです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "<stdin>", line 2, in <module> File "C:\Users\m_sakamoto\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\generic.py", line 1442, in __nonzero__ raise ValueError( 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_excel('sortdataei12.xlsx',sheet_name = 'Sheet1') cd = df.iloc[:,[32]] #'金額コード'のある列 sl = df.iloc[:,[33]] #'金額'のある列 for i in df.iterrows(): if (cd==5555): df.insert(34,"出張費",sl) elif (cd==6666): df.insert(35,"接待費",sl) else: df.insert(36,"雑費",sl)
試したこと
cd.astype('str')
でデータ型の変換を試みましたが同じエラーが出ます・・・
補足情報(FW/ツールのバージョンなど)
自分なりに調べて、pandasのdataframe内の全体のデータ型は一意じゃない(曖昧だ)からエラーが出る
ということはわかりました。
ですがそこからどうした方がいいかが分かりませんでした・・・
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/16 07:09 編集
2021/04/16 07:42
2021/04/19 01:38
2021/04/19 08:17 編集