我有几个几何类型为线串和点的geodataframe,我想根据几何类型将每个gdf分成2个子集。我使用下面的代码将其子集化:
gdf1_line = gdf1[gdf1['geometry'].geom_type == 'LineString']
gdf1_point = gdf1[gdf1['geometry'].geom_type == 'Point']
因为我有多个gdf,所以我尝试创建一个如下的函数:
def subset_line(x):
result = x[x['geometry'].geom_type == 'LineString']
return result
def subset_point(x):
result = x[x['geometry'].geom_type == 'Point']
return result
然而,当我尝试运行它显示这个错误:
gdf_line = subset_line(gdf)
gdf_line.head()
属性错误:"NoneType"对象没有属性"head"
1条答案
按热度按时间bakd9h0s1#
我想明白了。显然,我必须在函数中创建gdf,就像这样: