【发布时间】:2018-10-13 02:17:54
【问题描述】:
我这里有一个包含两列的 csv 表:“Source_Polygon_ID”和“Neighbor_Polygon_ID”。我想制作一个包含一系列“Neighbor_Polygon_ID”的列表,只要列表中的项目共享共同的“Source_Polygon_ID”。
以下是 csv 表的示例: csv table with two columns
这是我想要得到的示例结果: sample of processed result in csv format
我使用 pandas 来读取 csv 表,并使用 groupby 函数按其常见的“Source_Polygon_ID”对“Neighbor_Polygon_ID”进行排序。但是,这并不能帮助我为每个“Source_Polygon_ID”构建“Neighbor_Polygon_ID”列表。有什么解决办法吗?
【问题讨论】:
-
import pandas as pd import csv # 在arcpy中激活空间扩展;设置工作空间 arcpy.CheckOutExtension("Spatial") env.workspace="G:\\GLUE_Work\\Projects\\NSF\\DaneCountyTest" # 通过使用 pandas 读取 csv 文件来构造数据帧 df=pd.read_csv(" G:\\GLUE_Work\\Projects\\NSF\\DaneCountyTest\\AdjacencyTableDane_cb.csv") #sourcegrouped = df.groupby('src_GISJOI')['nbr_GISJOI'].list() sourcegrouped = df.groupby('src_GISJOI' ).apply(lambda x: x['nbr_GISJOI']) 打印源分组