将计算列分组并添加到我的数据框

时间:2017-02-22 19:29:25

标签: python pandas dataframe

我有一个看起来像这样的数据框我把我的大陆变成了我的索引字段。我希望它显示出一点不同。我想让数据框架只有3个大陆,然后让所有属于该大陆的国家显示为计数

Continent Country    

Oceania  Australia  53      154.3   203.6   209.9
Europe   Austria    28.2    49.3    59.7    59.9
Europe   Belgium    33.2    70.3    83.4    82.8
Europe   Denmark    18.6    26.0    38.9    36.1
Asia     Japan      382.9   835.5   1028.1  1049.0

所以我的输出看起来像这样:它只会显示该大陆下的国家数量。我也希望它能将所有内容组合到num_countries中,它为该国家提供了所有内容的平均值,因此每个大陆都将其全部合并为一个

Continent num_Countries       mean

Oceania       1               209.9
Europe        3               328.2
Asia          1               382.9

我试图创建这些列,但我可以创建新列,当我这样做时,它们会出现为Nan值,而对于各大洲,我无法让groupby()函数以我希望的方式工作因为它并没有将所有国家推向大陆,而是显示了各大洲和各国的完整名单。

2 个答案:

答案 0 :(得分:0)

您可以使用数据透视表。 (我用1到4标记了未标记的列)

if (new int[] {age1, age2, age3}.Any(age => age > 10)) {
  ...
}

答案 1 :(得分:0)

以下分组按'大陆'并应用一个计算国家数量并找到均值均值的函数(我假设这是你想要的,因为每个大陆的一些国家/地区有4列数字数据)

select i.*
from iris i
where i.sepal_width = (select max(i2.sepal_width)
                       from iris i2
                       where i2.species = i.species
                      );
相关问题