Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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 如何使用带Pandas数据集的Seaborn修复条形图错误(它不允许我对变量进行条形图)_Python_Pandas_Bar Chart_Seaborn - Fatal编程技术网

Python 如何使用带Pandas数据集的Seaborn修复条形图错误(它不允许我对变量进行条形图)

Python 如何使用带Pandas数据集的Seaborn修复条形图错误(它不允许我对变量进行条形图),python,pandas,bar-chart,seaborn,Python,Pandas,Bar Chart,Seaborn,我试图用一个熊猫数据集(Python3)绘制一个变量,以显示各个国家的前五星级评级。我甚至不确定应该尝试什么不同的方法,因为它可以很好地处理完整的数据帧,而不是我的变量。首先在这里发布的家伙,对不起,如果我没有把足够的信息 在我的完整数据帧中,线条图和条形图都很好 import pandas as pd, numpy as np import matplotlib.pyplot as plt import seaborn as sns ramen = pd.read_csv('D:/Sta

我试图用一个熊猫数据集(Python3)绘制一个变量,以显示各个国家的前五星级评级。我甚至不确定应该尝试什么不同的方法,因为它可以很好地处理完整的数据帧,而不是我的变量。首先在这里发布的家伙,对不起,如果我没有把足够的信息

在我的完整数据帧中,线条图和条形图都很好

import pandas as pd, numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

ramen = pd.read_csv('D:/Statistics/Stats Projects/Ramen/cleaner_ramen_ratings.csv')

sorted_group = ramen.groupby('Country')['Stars'].mean().sort_values(ascending=False)

top_ten_countries = sorted_group.head(10)





plt.figure(figsize = (12,6))

plt.title('Top Five Ramen Ratings by Country')

sns.barplot(x=top_ten_countries["Country"], y=top_ten_countries["Stars"])
TypeError回溯(最近一次调用)
获取值(self、series、key)中的d:\python\lib\site packages\pandas\core\index\base.py
4379尝试:
->4380返回libindex.get_value_框(s,键)
4381除索引器外:
熊猫\\u libs\index.pyx在熊猫中。_libs.index.get_value_box()
熊猫\\u libs\index.pyx在熊猫中。_libs.index.get_value_at()
pandas\\u libs\util.pxd在pandas中。_libs.util.get_value_at()
pandas\\ libs\util.pxd在pandas中。\ libs.util.validate\ u indexer()
TypeError:“str”对象不能解释为整数
在处理上述异常期间,发生了另一个异常:
KeyError回溯(最近一次呼叫最后一次)
在里面
3 plt.标题(按国家分列的前五名拉面评级)
4.
---->5 sns.条形图(x=前十名国家[“国家”],y=前十名国家[“明星”])
d:\python\lib\site packages\pandas\core\series.py in\uuuuu getitem\uuuuuuu(self,key)
866 key=com.apply\u如果可调用(key,self)
867尝试:
-->868结果=self.index.get_值(self,key)
869
870如果不是标量(结果):
获取值(self、series、key)中的d:\python\lib\site packages\pandas\core\index\base.py
4386升起无效索引错误(键)
4387其他:
->4388上升e1
4389例外情况除外:#杂注:无保险
4390上升e1
获取值(self、series、key)中的d:\python\lib\site packages\pandas\core\index\base.py
4372尝试:
4373返回自引擎。获取值(s,k,
->4374 tz=getattr(series.dtype,“tz”,无))
4375除键错误为e1外:
4376如果len(self)>0且(self.holds_integer()或self.is_boolean()):
pandas\\u libs\index.pyx在pandas.\u libs.index.IndexEngine.get\u value()中
pandas\\u libs\index.pyx在pandas.\u libs.index.IndexEngine.get\u value()中
熊猫\\u libs\index.pyx在熊猫中。\ u libs.index.IndexEngine.get_loc()
pandas\\u libs\hashtable\u class\u helper.pxi在pandas.\u libs.hashtable.PyObjectHashTable.get\u item()中
pandas\\u libs\hashtable\u class\u helper.pxi在pandas.\u libs.hashtable.PyObjectHashTable.get\u item()中
关键错误:“国家”
```````
遇到此类问题时,请始终创建一个。所以这里看起来像

import numpy as np
import pandas as pd

df = pd.DataFrame({"X" : np.repeat(list("ABCD"), 50),
                   "Y" : np.cumsum(np.random.randn(200))})

g = df.groupby("X")["Y"].mean()
打印(g[“X”])
将导致
键错误。为什么?因为当您打印分组序列时,
print(g)

你会注意到的

  • 这是一个系列,不是数据帧。因此,索引将选择系列的项目,而不是列
  • “X”
    只是索引的名称。所以你要找的是

    g.index 
    
  • 因此

    sns.barplot(x=g.index, y=g)
    

    非常感谢你,这就成功了!我会简化事情,以纠正错误,在未来,有一个伟大的晚上!
    g.index 
    
    sns.barplot(x=g.index, y=g)