代码之家  ›  专栏  ›  技术社区  ›  user2100039

Geopandas模块对象不可调用

  •  0
  • user2100039  · 技术社区  · 5 年前

    我试图使用geopandas在地图上绘制x、y或经纬度点,但我遇到了以下错误:

    File "C:\Users\U321103\.spyder-py3\Plot90thPercentile_MKTest_maps.py", line 
    19, in <module>
    gdf = gdf(dfp, geometry=geometry)
    TypeError: 'module' object is not callable
    

    我的代码看起来像这样:

    from sys import exit
    from shapely.geometry import Point
    import geopandas as gpd
    from geopandas import geodataframe as gdf
    from shapely.geometry import Point, LineString
    import pandas as pd
    
    
    dfp = pd.read_csv("\\\porfiler03\\gtdshare\\Long_Lats_90p.csv", 
    delimiter=',', skiprows=0, 
    low_memory=False)
    geometry = [Point(xy) for xy in zip(dfp['Longitude'], dfp['Latitude'])]
    gdf = gdf(dfp, geometry=geometry)   
    
    #this is a simple map that goes with geopandas
    world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
    gdf.plot(ax=world.plot(figsize=(10, 6)), marker='o', color='green', 
    markersize=15);
    exit()
    

    我得到的错误在第19行:

    gdf = gdf(dfp, geometry=geometry) 
    

    我认为这个错误可能与第19行上的某些内容不是“可调用的”,它必须是“gdf”有关,但我不确定如何修复这个问题。最终,我需要一张包含文件中的点的地图,以便在世界地图上显示为红点。我的df“dfp”看起来像这样——谢谢你的帮助!

       Longitude  Latitude
    0    -76.124    40.853
    1    -96.063    44.065
    2     -3.480    43.140
    3     -2.060    38.750
    4     -2.420    38.880
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   martinfleis    5 年前

    您正在尝试导入 geopandas.GeoDataFrame 类,但正在导入 geopandas.geodataframe 模块代替。记住Python是区分大小写的。

    from geopandas import GeoDataFrame as gdf
    
        2
  •  0
  •   user2100039    5 年前

    看起来这是安装“geopandas”的问题。我已经删除并重新安装了此软件包,并且没有出现错误。

    推荐文章