Как я могу умножить каждый элемент данного столбца моего фрейма данных на скаляр? (Я пробовал смотреть на SO, но не могу найти правильное решение)
Выполнение чего-то вроде:
df['quantity'] *= -1 # trying to multiply each row 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
из Pandas
полная трассировка:
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