TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_12128/3720585900.py in <module> 2 # 对数变换前,GrLivArea 与 SalePrice 的残差图 3 plt.subplots(figsize = (6,5)) ----> 4 sns.residplot(df_train_copy.GrLivArea, df_train_copy.SalePrice); 5 # 对数变换后,GrLivArea 与 SalePrice 的残差图 6 plt.subplots(figsize = (6,5)) TypeError: residplot() takes from 0 to 1 positional arguments but 2 were given
时间: 2023-11-27 14:49:16 浏览: 210
typing_extensions.py
5星 · 资源好评率100%
这个错误是因为 `sns.residplot()` 函数只接受一个参数,而你传递了两个参数。你可以将这两个参数放在一个 DataFrame 中作为输入。请尝试使用以下代码:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 对数变换前,GrLivArea 与 SalePrice 的残差图
data = pd.concat([df_train_copy.GrLivArea, df_train_copy.SalePrice], axis=1)
sns.residplot(x='GrLivArea', y='SalePrice', data=data)
plt.subplots(figsize = (6,5))
# 对数变换后,GrLivArea 与 SalePrice 的残差图
data = pd.concat([np.log1p(df_train_copy.GrLivArea), df_train_copy.SalePrice], axis=1)
sns.residplot(x='GrLivArea', y='SalePrice', data=data)
plt.subplots(figsize = (6,5))
```
这里,我们将 `GrLivArea` 和 `SalePrice` 放在一个 DataFrame 中,并使用 `pd.concat()` 函数沿着列的方向将它们连接起来。我们然后将这个 DataFrame 传递给 `sns.residplot()` 函数,并指定 `x` 和 `y` 参数来指定要绘制的 x 和 y 变量。第二个残差图使用对数变换后的 `GrLivArea`。
阅读全文