データフレームの特定の列の各要素をスカラーで乗算するにはどうすればよいですか? (SOを調べてみましたが、正しい解決策が見つからないようです)
次のようなことをします:
df['quantity'] *= -1 # trying to multiply each row's quantity column with -1
私に警告を与える:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
注:可能であれば、データフレームを反復処理して次のようなことをしたくありません...列全体に対する標準的な数学演算は、ループを記述する必要なしに可能である必要があると思います。
for idx, row in df.iterrows():
df.loc[idx, 'quantity'] *= -1
編集:
私は0.16.2
パンダを実行しています
完全なトレース:
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
self.obj[item] = s