ValueError:无法解释输入“State/UnionTerritory”

Posted

技术标签:

【中文标题】ValueError:无法解释输入“State/UnionTerritory”【英文标题】:ValueError: Could not interpret input 'State/UnionTerritory' 【发布时间】:2021-08-01 17:12:18 【问题描述】:

我的数据集包含以下数据。 State/UnionTerritory 列包含重复的州名称

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 14690 entries, 0 to 14689
Data columns (total 8 columns):
 #   Column                    Non-Null Count  Dtype         
---  ------                    --------------  -----         
 0   Date                      14690 non-null  datetime64[ns]
 1   State/UnionTerritory      14690 non-null  object        
 2   ConfirmedIndianNational   14690 non-null  object        
 3   ConfirmedForeignNational  14690 non-null  object        
 4   Cured                     14690 non-null  int64         
 5   Deaths                    14690 non-null  int64         
 6   Confirmed                 14690 non-null  int64         
 7   Total_active              14690 non-null  int64         
dtypes: datetime64[ns](1), int64(4), object(3)
memory usage: 918.2+ KB

我正在为条形图编写代码,因为我需要按“州/联合领土”对所有数据进行分组,然后我想绘制条形图

data = dataframe[['State/UnionTerritory', 'Confirmed', 'Cured', 'Deaths']]
data.sort_values('Confirmed', ascending = False, inplace = True)
data = data.groupby('State/UnionTerritory')['Confirmed', 'Cured', 'Deaths'].sum().sort_values(by = 
                    'Confirmed', ascending = False)
data

sns.barplot(x = 'Confirmed', y ='State/UnionTerritory', data = data, label = 'Total', color = "r")
sns.set_color_codes("muted")
sns.barplot(x = 'Cured', y = 'State/UnionTerritory', data = data, label = 'Cured', color = "g")

# Add a legend & informative axis lable
ax.legend(ncol = 2, loc = 'lower right', bbox_to_anchor=(1, -0.15), frameon = True)
ax.set(xlim = (0, 35), ylabel = '', xlabel = 'Cases')
sns.despine(left = True, bottom = True)

我按州名分组。这是数据的输出

State/UnionTerritory   Confirmed    Cured   Deaths
--------------------------------------------------      
Maharashtra            563699160    490137457   13199193
Karnataka              232492536    209887486   3047652
Andhra Pradesh         222339098    209691093   1804369
Tamil Nadu             215959445    202000492   3181512
Kerala                 190487632    170348486   737000

当我在该数据上尝试 barplot 时出现此错误

4 data
5 
----> 6 sns.barplot(x = 'Confirmed', y ='State/UnionTerritory', data = data, label = 'Total', color = 
        "r")
7 sns.set_color_codes("muted")
8 sns.barplot(x = 'Cured', y = 'State/UnionTerritory', data = data, label = 'Cured', color = "g")

ValueError: Could not interpret input 'State/UnionTerritory'

任何人都知道如何解决这个问题。谢谢提前

【问题讨论】:

【参考方案1】:

可能发生的情况是您不再有一个名为“州/联合领土”的列。相反,它现在是您的索引。因此,您既可以重置索引/重命名列,也可以直接将数据传递给 X 和 Y,而不是像之前那样分别传递列名和“数据”。

顺便说一句,我想你可能也想交换你的 x 和 y。

实际上看看data.columnsdata.reset_index().columns

【讨论】:

感谢您的帮助。实际上,我只想以这种方式进行情节,这就是为什么我这样提到 x 和 y。

以上是关于ValueError:无法解释输入“State/UnionTerritory”的主要内容,如果未能解决你的问题,请参考以下文章

ValueError:使用带有 seaborn 线图的索引时无法解释输入“索引”

Anaconda:ValueError:无法解释优化器标识符

ValueError:无法将输入数组从形状(25,1)广播到形状(25)

TF2.6:ValueError:模型无法保存,因为尚未设置输入形状

Tensorflow 数据适配器错误:ValueError:无法找到可以处理输入的数据适配器

自定义 DataGenerator tensorflow 错误“ValueError:无法找到可以处理输入的数据适配器”