2024-04-26 20:20:10 发布
网友
我有一个CSV,上面有机构名称和地址。如果我想要一个地址相同(特别是相同的邮政编码)的机构名称字符串,如何在R或Python中做到这一点?无论哪种方法最有效都是最好的,但我仍在学习这两种方法。googlerefine已经给了我每个邮政编码集群的数量,但是我只需要知道哪些代理对应于这些zip。在
是的,我知道邮政编码不好依赖,这是为了说明这一点。在
输入数据示例:
最终输出(稍后与shapefile合并):
你应该能够构建一个字典:
import csv from collections import defaultdict agencies = defaultdict(list) with open('file.csv', 'r') as handle: reader = csv.reader(handle) for row in reader: agencies[row[2]].append(row[0])
现在,agencies包含一个邮政编码到代理的映射。在
agencies
下面是一个使用模拟数据的R解决方案的草图:
set.seed(123) dat <- data.frame(agency = sample(letters[1:15],100,replace = TRUE), zipcode = sample(15,100,replace = TRUE)) head(dat) #A base R solution aggregate(dat$agency, by = list(dat$zipcode), FUN = function(x){paste(x,collapse = ",")}) #Or using the populat plyr package library(plyr) ddply(dat, .(zipcode), summarise, agencies = paste(agency,collapse = ","))
数据的屏幕截图通常不是最有用的显示内容。一个完整的,最小的可重复的例子将允许更完整的答案,更直接的帮助。(从而减少了你的后续问题。)
你应该能够构建一个字典:
现在,
agencies
包含一个邮政编码到代理的映射。在下面是一个使用模拟数据的R解决方案的草图:
数据的屏幕截图通常不是最有用的显示内容。一个完整的,最小的可重复的例子将允许更完整的答案,更直接的帮助。(从而减少了你的后续问题。)
相关问题 更多 >
编程相关推荐