【发布时间】:2020-08-21 18:51:24
【问题描述】:
我是 ArcGIS API for Python 的新手,我正在尝试使用 ArcGIS Pro 10.5 中的 Notebook 创建一个工具,该工具将重新设计一个表(csv 文件)。数据框的标题为 data_df 我需要计算每个国家/地区特定年龄组(1 岁以下、1-2 岁、3-4 岁、5-12 岁、 13-17 岁,18 岁及以上)。我的数据样本设置如下:
国家年龄性别
美国 3 M
美国 5 楼
美国 10 M F
加拿大 0 M
加拿大 1 M
加拿大 9 F
墨西哥 13 M
墨西哥 18 F
我创建了一个 python sn-p,它将给我我正在寻找的计数和总和。这个例子给了我 1-2yrs 组的计数,它有效!
data_df.loc[(data_df['Age'] >=1) & (data_df['Age'] <=2)].groupby('Country')['Age'].count()
问题是我正在尝试创建新列,以便为我提供每个国家/地区的总数。我知道有重复,我可以稍后删除。我试过下面的代码:
data_df['Hague1_2'] = data_df.loc[(data_df['Age'] >=1) & (data_df['Age'] <=2)].groupby('Country')['Age'].count()
结果应该如下所示,但我得到的是 NaN 值:
国家年龄性别 Under1 Yr1-2 Yr3-4 Yr5-12 Yr13-17 Yr18Older
美国 3 M 0 0 1 2 0 0
美国 5 F 0 0 1 2 0 0
美国 10 M F 0 0 1 2 0 0
加拿大 0 M 1 1 0 1 0 0
加拿大 1 M 0 M 1 1 0 1 0 0
加拿大 9 F 0 M 1 1 0 1 0 0
墨西哥 13 M 0 0 0 0 1 1
墨西哥 18 F 0 0 0 0 1 1
非常感谢任何帮助!
【问题讨论】:
标签: pandas jupyter-notebook pandas-groupby jupyter arcgis