実現したいこと
csvをpandasで読み込み、それを学習データとして機械学習する予定です。
しかし元々のcsvファイルの列名に一部数値だけの列(1, 2, 3, ・・・)が2つあります。
入口0, 1, 2, 3, ・・・, 出口0, 1, 2, 3, ・・・
というような感じです。これでは同名の列があり厄介なので加工しようと考えています。
そこで私がしたいことは
入口0, 入口1, 入口2, 入口3, ・・・, 出口0, 出口1, 出口2, 出口3, ・・・
という感じです。
そのため1からfor文を回そうとおもい実行したのですがPerformanceWarningが出てしまいました。
発生している問題・エラーメッセージ
PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
該当のソースコード
Python
1df_1 = df.iloc[:, 17:160] 2 3for i in range(1, 144, 1): 4 df[f'入口{i}'] = df_1[f'{i}']
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ソースコードに.iloc[:, 17:160]とあるのですがこれはdfに入口の数値と出口の数値がありこのままではどの数値の列名を変更するのかわからないので一度ilocで入口にあたる列を全て取得した上でfor文を回し列名を変更しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。