2016-01-23 4 views
2
df = pd.DataFrame({'a' : np.random.randn(10), 
       'b' : np.random.randn(10), 
       'c' : np.random.randn(10)}) 
log_sum = np.log(np.abs(df["a"] + df['b'] + df['c'])) 
print log_sum 
df.assign(log_sum=log_sum) 
df.head() 

Я получаю ошибку:Почему объект DataFrame не имеет атрибута 'assign'?

AttributeError: 'DataFrame' object has no attribute 'assign'

+2

Является ли заявление "Новое в версии 0.16.0." Соответствующий? – user2864740

+1

И вы всегда можете легко выполнить 'df ['log_sum] = log_sum' – joris

ответ

2

Вы должны использовать старую версию Панды,

назначения метод вводится в версии 0.16.0, doc ref

вы можете проверить версия вашего панды с использованием

import pandas 
pandas.__version__ 

обновление pandas-

pip install --upgrade pandas 
Смежные вопросы