【发布时间】:2022-01-17 06:17:13
【问题描述】:
我有一个包含重要城市人口的数据框。 Dataframe image
它包含来自不同国家的城市。在特定国家的所有城市中,只有一个城市被视为主要城市(在“首都”列中提到)。我需要找出人口大于主要城市的城市数量。请提供一种解决方案?
【问题讨论】:
标签: python pandas jupyter-notebook data-analysis
我有一个包含重要城市人口的数据框。 Dataframe image
它包含来自不同国家的城市。在特定国家的所有城市中,只有一个城市被视为主要城市(在“首都”列中提到)。我需要找出人口大于主要城市的城市数量。请提供一种解决方案?
【问题讨论】:
标签: python pandas jupyter-notebook data-analysis
用途:
#test primary
m = df['capital'].eq('primary')
#get dict for primary population
d = df[m].set_index('country')['population'].to_dict()
#filter not primary
df1 = df[~m].copy()
#compare non primary population with primary by map and count with sum
out = df1['population'].gt(df1['country'].map(d)).sum()
#filter compare rows if necessary
df2 = df1[df1['population'].gt(df1['country'].map(d))]
【讨论】: