def find_corr (data,x,y):
corr=data.groupby(by=['x','y']).size()
corr=corr.reset_index().rename(columns={0:'count'}).sort_values('count', ascending=False)[:10]
plot=sns.barplot(data=corr,'count',y=y,hue=x,orient= 'h')
plt.title(f'Correlation between {y} and {x}'.title(), fontsize = 14, weight = "bold")
plt.xlabel(x.title(), fontsize = 10, weight="bold")
plt.ylabel(y.title(), fontsize = 10, weight="bold")
此函数在使用时会带来KeyError:“x”
2条答案
按热度按时间deyfvvtc1#
错误消息使我怀疑
"x"
不是data
的列。如果将列名作为x和y传递给函数,请尝试data.groupby(by=[x, y]).size()
。j7dteeu82#
因为您使用的是 Dataframe ,所以应该将列名作为字符串传递。此外,情节的
x
参数似乎缺失。情节线应该是这样的: