ValueError: Could not interpret input 'State/UnionTerritory'
ValueError: Could not interpret input 'State/UnionTerritory'
我的数据集包含以下数据。 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
我正在为条形图编写代码,我需要按 'State/UnionTerritory' 对所有数据进行分组,然后我想绘制条形图
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
当我对该数据尝试条形图时出现此错误
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'
任何人都知道如何解决这个问题。谢谢提前
可能发生的情况是您不再有名为 'State/UnionTerritory' 的列。相反,它现在是您的索引。因此,您可以重置索引/重命名列,或者直接将数据传递给 X 和 Y,而不是像您那样分别传递列名和“数据”。
顺便说一句,我想你可能也想交换你的 x 和 y。
实际上看看 data.columns
和 data.reset_index().columns
。
我的数据集包含以下数据。 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
我正在为条形图编写代码,我需要按 'State/UnionTerritory' 对所有数据进行分组,然后我想绘制条形图
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
当我对该数据尝试条形图时出现此错误
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'
任何人都知道如何解决这个问题。谢谢提前
可能发生的情况是您不再有名为 'State/UnionTerritory' 的列。相反,它现在是您的索引。因此,您可以重置索引/重命名列,或者直接将数据传递给 X 和 Y,而不是像您那样分别传递列名和“数据”。
顺便说一句,我想你可能也想交换你的 x 和 y。
实际上看看 data.columns
和 data.reset_index().columns
。