【发布时间】:2021-02-02 00:20:32
【问题描述】:
我有一个数据框,它在建筑物数据集上具有各种属性。这些建筑物都被分配到一个住宅组(公寓/半独立式住宅/独立式住宅/排屋)和一个小区号。这些建筑物也有一年的建造柱,但是除了它们的小面积(大约 80 座建筑物)之外没有唯一标识符。
我想编写一个 for 循环,将这些建筑物分组到它们的住宅组中,然后将它们分解成它们的小区域,并分别为它们分配该小区域中该住宅组的建造年中位数。例如,划分小区域 12345 中的所有公寓,并为它们单独分配(在新列中)该小区域中公寓的建造年中位数。
到目前为止,geo_dwelling 是一个带有列的 GeoDataFrame;
In [20]: geo_dwelling.head(5)
输出[20]: cso_small_area 都柏林 邮政编码 建造年份 建造年份 住宅类型描述 能源等级 ... height_ag height_bg floor_ag floor_bg category 住宅组 7101 268109005 DUBLIN 1 2009.0 2005 起B3 ... 10.02 0 3 0 R 公寓 7101 268109005 DUBLIN 1 2009.0 2005 起B3 ... 10.73 0 3 0 R 公寓 7101 268109005 DUBLIN 1 2009.0 2005 起B3 ... 10.56 0 3 0 R 公寓 7101 268109005 DUBLIN 1 2009.0 2005 起B3 ... 10.75 0 3 0 R 公寓 7101 268109005 DUBLIN 1 2009.0 2005 起B3 ... 10.85 0 3 0 R 公寓
geo_dwelling = geo_dropped[
geo_dropped["Dwelling Group"].str.contains("Apartment", na=False)]
geo_dwelling.groupby(["cso_small_area"])[["Year of construction"]].median()
非常感谢任何帮助!
【问题讨论】:
标签: python pandas for-loop pandas-groupby geopandas