Объект 'Series' не имеет атрибута 'reshape' при использовании аргумента `x_partial` в` lmplot` - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь использовать аргумент x_partial в Seaborn's lmplot, чтобы регрессировать ковариату, но он выдает AttributeError. Вот воспроизводимый пример того, как я пытаюсь использовать аргумент:

import seaborn as sns

iris = sns.load_dataset("iris")
sns.lmplot('sepal_length', 'sepal_width', iris, x_partial='petal_length')

, что приводит к (частичному отслеживанию):

~ / miniconda3 / envs / pymc37 / lib / python3.7 / site-packages / seaborn / regression.py в init (self, x, y, data, x_estimator, x_bins, x_ci, scatter , fit_reg, ci, n_boot, единицы, порядок, логистика, lowess, надежный, logx, x_partial, y_partial, усеченный, dropna, x_jitter, y_jitter, цвет, метка)

    111         # Regress nuisance variables out of the data
    112         if self.x_partial is not None:
--> 113             self.x = self.regress_out(self.x, self.x_partial)
    114         if self.y_partial is not None:
    115             self.y = self.regress_out(self.y, self.y_partial)

~ / miniconda3 / envs / pymc37 / lib / python3.7 / site-packages / seaborn / regression.py в regress_out (self, a, b)

    313         b = np.c_[b]
    314         a_prime = a - b.dot(np.linalg.pinv(b).dot(a))  
--> 315         return (a_prime + a_mean).reshape(a.shape)`  
    316 
    317     def plot(self, ax, scatter_kws, line_kws):

~ / miniconda3 / envs / pymc37 / lib / python3.7 / site-packages / pandas / core / generic.py в getattr (self, name)

   5065             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5066                 return self[name]
-> 5067             return object.__getattribute__(self, name)    
   5068     
   5069     def __setattr__(self, name, value):

AttributeError: у объекта 'Series' нет атрибута 'reshape'

Это использование, похоже, следует документации, которая гласит, что строки имен столбцов могут быть переданы как аргумент x_partial. Очевидно, что это обычная ошибка Pandas, но, поскольку она появляется в коде Seaborn, я предполагаю, что я не правильно использую аргумент.

Как правильно использовать этот аргумент?


Информация о версии

requirements.txt

matplotlib=3.1.0
numpy=1.16.4
pandas=0.24.2 
python=3.7.3
scipy=1.2.1
seaborn=0.9.0

Обратите внимание, что это совместимо с conda create -n myenv --file requirements.txt, если вы хотите соответствовать моему env.

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