在以自动返回所有分类变量的计数图为目标的for循环中,如何仅筛选cat列的数据



这就是我的代码:

for i in penguins.columns:
if penguins[i].dtype == 'category':
plt.figure(figsize=(16,8)),
sns.countplot(x=i, data=penguins,  palette='flare'),
plt.show()

但它返回了这个错误,只给了我一个情节:"数据类型"类别"不理解">

我不认为Pandas允许直接比较数据类型和字符串;则CCD_ 1字符串将等于CCD_。

您可以尝试以下操作之一:

for col in penguins:
if penguins[col].dtype == pd.CategoricalDtype:
plt.figure(figsize=(16,8))
sns.countplot(x=i,
data=penguins,
palette='flare')
plt.show()

for col in penguins:
if penguins[col].dtype.name == 'categorical':
plt.figure(figsize=(16,8))
sns.countplot(x=i,
data=penguins,
palette='flare')
plt.show()

最新更新