前提・実現したいこと
MacでPython3.XにてPandasを使用しています。
DataFrameからカラムを指定してデータを抽出して別のDataFrameにAppendして保存したいです。
アドバイスいただけますと幸いです。
###詳細
機械学習ではなく通常の処理でデータの分類をしようとしています。
教師データにあたるデータセットから、カテゴリー名、取引先名、明細を抜き出し、
明細をMeCabで分析をかけた後名詞だけ取り出し、それぞれをDataFrameの要素として以下の様に保存しています。
例1)カテゴリー名|取引先名 | 名詞1 | 名詞2 | 名詞3 | 名詞N
野菜 八百屋 イチゴ 3 個
魚 魚屋 新鮮 さんま 4 匹
このDataFrameをカテゴリー名がわからないデータに当てはめてカテゴリー名を振っていこうと考えています。
その下準備として、上記データを以下の様にまとめようとしています。
例2)カテゴリー名|取引先名| キーワード
野菜 八百屋 イチゴ
野菜 八百屋 3
野菜 八百屋 個
魚 魚屋 新鮮 ・・・
まずカテゴリー名と取引先名を取り出して名詞はfor文で拾って別のDataFrameでまとめようとしたところエラーが発生しています。
発生している問題・エラーメッセージ
IndexError: single positional indexer is out-of-bounds
該当のソースコード
cat_list1 = pd.DataFrame() ##新しいDataFrameを先に宣言
for i in range(len(tdata)): ##tdataはDataFrameで元データ
for j in range(3,11): ##名詞部分にあたるのが3〜11
add = tdata.iloc[i,0:2] ## ←ここにエラーがあるそう。カテゴリー名と取引先名をまず保存しようとしています。
add["キーワード"] = tdata.iloc[i,j] ##次にキーワードという列を作りたいと考えています。
cat_list1.append(add, ignore_index = True) ##キーワードに名詞を順番保存していこうと考えています。
i +=1
試したこと
ilocをlocにして見たり、for文で回す前に個別にエラーが発生しないか検証して見ました。
補足情報(FW/ツールのバージョンなど)
Python 3.7
Pandas
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/14 03:16