【发布时间】:2018-05-29 22:56:16
【问题描述】:
我有一个按年份列出的国家/地区列表,就像这样
country year founding_year other_vars
Fake 1900 1950 data
Fake 1901 1950 data
Fake 1902 1950 data
(...)
USE 1900 1901 data
USE 1901 1901 data
USE 1901 1901 data
founding_year 起初有点令人困惑,但数据集的作用是它每年跟踪are countries in 2001 的国家 - 收集有关它们的各种统计数据。
不,我想创建一个图表来显示随着时间的推移国家的创建/建立。我已经有用于 X 轴的 year 变量,而 founding_year 变量提供了我需要的信息 - 但我无法使用 groupby 操作来获取 number of new nations per founding year
我使用以下命令:
df.groupby(['founding_years', 'country']).size()
我同时选择了founding_year 和country 变量以确保我有唯一的对(因为每个国家有多个行)
但是,这给了我一个错误的结果。
founding_year country
1945 Austria 46
Poland 46
1946 Jordan 46
Lebanon 46
Philippines 46
Syria 16
1947 India 46
Pakistan 25
1948 Israel 46
Myanmar 46
North Korea 46
South Korea 46
Sri Lanka 46
它返回的是这个国家在数据库中的行数。 .count() 命令给出相同的结果。
我尝试在 groupby 函数的末尾添加year,但这使它只返回一大堆唯一值。
我有点困惑,我需要的所有信息都在那里,但我似乎无法弄清楚如何获得它 - 你们有谁知道我错过了什么吗?
【问题讨论】:
标签: python pandas dataframe pandas-groupby