Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么会出现关键错误';0';运行此代码_Python - Fatal编程技术网

Python 为什么会出现关键错误';0';运行此代码

Python 为什么会出现关键错误';0';运行此代码,python,Python,尝试运行此代码时出现密钥错误0: #绘制绘图 plt.图(figsize=(13,10),dpi=80) sns.boxplot(x='demand',y='Price',data=df,notch=False) #在箱线图内添加N个Obs(可选) def添加obs(df、组列、y): medians_dict={grp[0]:grp[1][y]。df.groupby(group_col)中grp的中值() xticklabels=[x.get_text()表示plt.gca()中的x。get_

尝试运行此代码时出现密钥错误0:

#绘制绘图
plt.图(figsize=(13,10),dpi=80)
sns.boxplot(x='demand',y='Price',data=df,notch=False)
#在箱线图内添加N个Obs(可选)
def添加obs(df、组列、y):
medians_dict={grp[0]:grp[1][y]。df.groupby(group_col)中grp的中值()
xticklabels=[x.get_text()表示plt.gca()中的x。get_xticklabels()]
n\u obs=df.groupby(group\u col)[y].size().values
对于(x,xticklabel),n_ob in zip(枚举(xticklabel),n_obs):
plt.text(x,中位数dict[xticklabel]*1.01,“#obs:+str(n#ob),水平对齐='center',字体dict={'size':14},颜色='white')
添加obs(df,组集合=需求,y=价格)
#装饰
打印标题(“方框图”,字体大小=22)
plt.ylim(10,40)
plt.show()

我尝试使用seaborn提供的默认提示数据运行您的代码:

from matplotlib import pyplot as plt
import seaborn as sns

df = sns.load_dataset("tips")

# Draw Plot
plt.figure(figsize=(13,10), dpi= 80)
sns.boxplot(x="day", y="total_bill", data=df, notch=False)

# Add N Obs inside boxplot (optional)
def add_n_obs(df,group_col,y):
    medians_dict = {grp[0]:grp[1][y].median() for grp in df.groupby(group_col)}
    xticklabels = [x.get_text() for x in plt.gca().get_xticklabels()]
    n_obs = df.groupby(group_col)[y].size().values
    for (x, xticklabel), n_ob in zip(enumerate(xticklabels), n_obs):
        plt.text(x, medians_dict[xticklabel]*1.01, "#obs : "+str(n_ob), horizontalalignment='center', fontdict={'size':14}, color='white')

add_n_obs(df,group_col='day',y='total_bill')    

# Decoration
plt.title('Box Plot', fontsize=22)
plt.ylim(10, 40)
plt.show()

而且似乎效果不错。您确定您的数据帧变量df有“需求”和“价格”键吗?

您好,谢谢您的回答,是的,我确定。如果我把‘价格’放在x上,把‘需求’放在y上,我会得到关键错误“44.0”,这是价格的最低值,0是需求的最低值。这就像它在第一个值上返回错误一样。