Pandasの繰り返し文での代入について
私は現在Pandasのデータフレームにおきまして、全ての行を繰り返して値の変更を行おうとしています。(今回は値から%を取り除こうとしています。)
その際に、下記のような警告文が出てしまいます。また、この警告文が出ると処理に大きな時間がかかります。
下記の警告文のサイトへと移動し、dataframe._setitem_with_indexerを使用したのですが、エラーや同様の警告文となり変更することができません。
df.ilocなどを使用し同じ列名に代入するときの正しい文法を教えていただければ幸いです。
左辺と右辺が異なる場合はエラーや警告文は出ませんでした。
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
・変更前のコード
for i in range(len(df)):
df['column'].iloc[i] = (df['column'].iloc[i].split('%'))[0]
・変更後のコード
for i in range(len(df)):
df['column'].iloc._setitem_with_indexer(i, (df['column'].iloc[i].split('%'))[0])