Замена нескольких числовых столбцов значением журнала этих столбцов Python - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю с пандой DataFrame в Python, которая имеет 10 переменных (4 числовых, 6 категориальных).Я хочу заменить значения 4 числовых переменных на натуральный логарифм текущих значений.

Пример моих данных ниже:

df = DataFrame

logcolumns = theимена столбцов, которые я хочу преобразовать в натуральный журнал

Import numpy as np
Import pandas as pd
df = pd.read_csv("myfile.csv")
logcolumns = ['Volume', 'Sales', 'Weight', 'Price']
df[logcolumns] = np.log(df[logcolumns])

После выполнения этого я получаю SettingWithCopyWarning: пытается установить значение для копии среза из DataFrame.Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = значение

Этот процесс работает с отдельным столбцом и со всем фреймом данных, но не при попытке запустить его в списке выбранных столбцов.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете следовать предложению в предупреждении и использовать помеченный доступ на основе:

df.loc[:, logcolumns] = np.log(df[logcolumns])

Официальный документ здесь: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...