Python 如何去掉最后一列中的零

Python 如何去掉最后一列中的零,python,pandas-groupby,Python,Pandas Groupby,我正在做一项应用数据科学的作业 问题: 将%的可再生能源切成5个垃圾箱。欧洲大陆排名前15位,以及这些新的%可再生垃圾箱。每一组中有多少个国家? 此函数应返回一个包含多索引的系列,然后返回%RENERABLE的箱子。不包括没有国家/地区的组 这是我的代码: def answer_twelve(): Top15 = answer_one() ContinentDict = {'China':'Asia', 'United States':'

我正在做一项应用数据科学的作业

问题: 将%的可再生能源切成5个垃圾箱。欧洲大陆排名前15位,以及这些新的%可再生垃圾箱。每一组中有多少个国家? 此函数应返回一个包含多索引的系列,然后返回%RENERABLE的箱子。不包括没有国家/地区的组

这是我的代码:

def answer_twelve():

    Top15 = answer_one()
    ContinentDict  = {'China':'Asia', 
                  'United States':'North America', 
                  'Japan':'Asia', 
                  'United Kingdom':'Europe', 
                  'Russian Federation':'Europe', 
                  'Canada':'North America', 
                  'Germany':'Europe', 
                  'India':'Asia',
                  'France':'Europe', 
                  'South Korea':'Asia', 
                  'Italy':'Europe', 
                  'Spain':'Europe', 
                  'Iran':'Asia',
                  'Australia':'Australia', 
                  'Brazil':'South America'}
    Top15['Continent'] = Top15.index.to_series().map(ContinentDict)
    Top15['bins'] = pd.cut(Top15['% Renewable'],5)
    return pd.Series(Top15.groupby(by = ['Continent', 'bins']).size())#,apply(lambda x:s if x['Rank']==0 continue))
answer_twelve()
这是我对上述代码的输出

Continent      bins            
Asia           (2.212, 15.753]     4
               (15.753, 29.227]    1
               (29.227, 42.701]    0
               (42.701, 56.174]    0
               (56.174, 69.648]    0
Australia      (2.212, 15.753]     1
               (15.753, 29.227]    0
               (29.227, 42.701]    0
               (42.701, 56.174]    0
               (56.174, 69.648]    0
Europe         (2.212, 15.753]     1
               (15.753, 29.227]    3
               (29.227, 42.701]    2
               (42.701, 56.174]    0
               (56.174, 69.648]    0
North America  (2.212, 15.753]     1
               (15.753, 29.227]    0
               (29.227, 42.701]    0
               (42.701, 56.174]    0
               (56.174, 69.648]    1
South America  (2.212, 15.753]     0
               (15.753, 29.227]    0
               (29.227, 42.701]    0
               (42.701, 56.174]    0
               (56.174, 69.648]    1
dtype: int64
所需输出为

Continent      bins            
Asia           (2.212, 15.753]     4
               (15.753, 29.227]    1
Australia      (2.212, 15.753]     1
Europe         (2.212, 15.753]     1
               (15.753, 29.227]    3
               (29.227, 42.701]    2
North America  (2.212, 15.753]     1
               (56.174, 69.648]    1
South America  (56.174, 69.648]    1
Name: Countries, dtype: int64
我想去掉零,我试着用

pd.Series(Top15.groupby(by = ['Continent', 'bins']).size().apply(lambda x:s if x['Rank']==0 continue))
但我一直得到以下错误

File "<ipython-input-317-14bc05bb2137>", line 20
    return pd.Series(Top15.groupby(by = ['Continent', 'bins']).size().apply(lambda x:s if x['Rank']==0 continue))
                                                                                                              ^
SyntaxError: invalid syntax

文件“”,第20行
return pd.Series(Top15.groupby(by=['Continent','bins']).size().apply(如果x['Rank']==0,则lambda x:s continue))
^
SyntaxError:无效语法
我无法找出我的错误。请帮帮我

lambda x:s if x['Rank']==0 continue
这没有任何意义,因为
continue
仅在循环中有用。 请注意,您需要一个值来打印。相反,将其设置为空白:

lambda x:"" if x['Rank']==0 else s

使用pandas并在列为零时删除行

如果列名称是您的列:

df=df[df.column\u name!=0]

ds=answer\u seven()
ds[ds!=0]
非常感谢您的帮助!您好,我尝试了这种方法,但无法打印输出。Codetop=Top15[Top15.Rank!=0]返回pd.Series(Top15.groupby(by=[columendict,bins]).size().apply(top))我想我搞砸了。请建议一种方法。请创建一个最小的可复制示例,以便我们可以帮助编写代码。这里是可用于执行函数的数据。
answer\u seven()
我无法生成源函数的片段,相反,我可以为answer\u one()提供输出文件。其余的数据在答案_十二()中。希望这能起作用。对不起,如果我不能提供足够的资源<代码>这里是.csv文件的链接(answer_one()的输出)——https://drive.google.com/file/d/11L2mDL73McEwNi35pULFHk6fYr0qlenE/view?usp=sharing@shinigamisiofrath请遵循社区建议->嘿,我尝试过这种方法,但肯定犯了错误。请帮忙。Codepd.Series(Top15.groupby(by=[colontandict,bins]).size().apply(lambda x:“if x['Rank']==0 else”“)代替“s”,我将其留空。然后根据发布指南将尝试编辑到您的问题中。“犯了一个错误”不是一个问题规范。请提供预期的价格。