背景
データ分析コンペで、複数CSVファイルを統合しデータクレンジングをしている際に発生しました。
あくまで一例のレベルですが、原因の特定と対処に時間がかかったため、同じ原因でエラーがあった場合の参考になるのではないかと考えて、記載します。
原因
下記のコードで複数のCSVファイルを統合している際に、インデックスの再作成をしていなかったので、インデックスが重複していた状態でした。
df = pd.concat(data_list, axis=0, sort=False)
この状態で、下記のコマンドを実行した際にエラーが発生しました。
df.loc[df['列名A']=='X','列名B'] = df['列名C'] + 3
⇒列名A=’X’の行に対して、列名C+3を列名Bに代入。
解決法
複数のCSVファイルを統合する際に、インデックスの再作成をすることで解決しました。
df = pd.concat(data_list, axis=0, sort=False, ignore_index=True)
⇒「ignore_index=True」を追加。
コメント