使用Seaborn pairplot时出现'DataFrame'对象不可调用的TypeError求助
解决Seaborn pairplot的TypeError问题
Hey there! I see you're just starting out with Python and machine learning—great to have you on board! Let's fix that TypeError you ran into with your scatter plot matrix code.
问题原因
你遇到的 TypeError: 'DataFrame' object is not callable 错误,根源是这一行代码:
sns.pairplot(frame(num_cols),size=2)
这里你把Pandas DataFrame对象frame当成函数来调用了(用了圆括号()),但DataFrame是不可调用的对象。在Pandas中,要选择指定的列集合,正确的语法是使用方括号[],而不是圆括号。
另外补充一点:新版本的Seaborn里,size参数已经被弃用,官方推荐用height参数来指定子图的高度,这样能避免版本兼容的警告。
修正后的完整代码
# creating a scatter plot matrix %matplotlib inline import seaborn as sns num_cols = ["Age","Height","Weight","Duration","Heart_Rate","Body_Temp","Calories"] # 替换成方括号选择列,同时改用height参数 sns.pairplot(frame[num_cols], height=2)
额外注意事项
- 确保你的DataFrame变量名确实是
frame,如果实际用的是其他名字(比如常见的df),记得替换成对应的变量名。 - 如果运行后还是有问题,可以检查
num_cols里的列名是否和DataFrame中的列名完全一致(大小写、拼写都要匹配)。
内容的提问来源于stack exchange,提问作者Roshan
相关产品推荐
相关产品推荐

