python - 在 Panda/Geopanda 中合并两个数据集时出现问题
问题描述
d = {'col1': ['Jan', 'Willem'], 'name': ['Moddergat', 'Winthagen']}
data = pd.DataFrame(data=d)
data
嘿伙计们,所以上面的代码是我要运行以合并两个数据集的测试。我试图合并的数据集如下所示:
osm_id name type population geometry
5574 48291277 Zwaagwesteinde village 1000 POINT (6.03895 53.25643)
1333 42895259 Poppendamme village 0 POINT (3.55466 51.52072)
142 41994373 Winthagen village 0 POINT (5.93158 50.86299)
3612 46201554 De Glip hamlet 0 POINT (4.61127 52.33054)
659 42427709 Lange Hout hamlet 0 POINT (6.03483 51.34534)
1044 42685042 Venweg hamlet 0 POINT (4.94120 51.45961)
4138 47132813 Zuidermeer village 1000 POINT (4.97614 52.66399)
5912 48470661 Moddergat village 1000 POINT (6.07969 53.40367)
5047 47872376 Sibrandabuorren village 1000 POINT (5.72101 53.06785)
4979 47811814 Idsegahuizum village 1000 POINT (5.41902 53.04249)
不知何故,当我将第一个数据集变成一个带有计数器的数据集时,它可以工作,但是当我合并同一个计数器时,它输出全为零。有谁知道为什么不匹配?
#this outputs a correct counter
data['count'] = 1
dataByNeighbourhood = data.groupby('name').count()[['count']].reset_index()
dataByNeighbourhood['name'] = dataByNeighbourhood['name'].str.lower()
dataByNeighbourhood.sort_values('count', ascending=False).head(10)
#this outputs a counter with all zero's
merged = regions.set_index('name').join(dataByNeighbourhood.set_index('name'))
merged = merged.reset_index()
merged = merged.fillna(0)
merged[['name', 'type', 'population', 'geometry', 'count']].sample(5)
print(merged['count'].max)
非常感谢您的帮助:) PS。抱歉奇怪的数据集我不知道如何在这里设置样式
解决方案
推荐阅读
- c# - 从 base 64 字符串转换时出错
- python - 两个时间序列的并集
- pandas - 如何删除时间戳中的 freq='W-FRI' 部分
- keras - Word2Vec 二次采样——实现
- c# - 如何使用 C# 添加/修改注册表项?
- javascript - 将 ASP.NET MVC IEnumerable 视图模型转换为对象的 json 数组
- python - 根据另一个数组中的值展开一个 numpy 数组
- typescript - 在 Typescript 中:有没有办法内联初始化对象或数组(具有某种接口类型)?
- netlogo - 如何选择与邻居共享的对象
- java - Android Studio 按钮导致崩溃