Pandas 如何删除级别和列

Pandas how to drop a level and column

如何在列上删除级别并删除除 "City" 和 "geometry"

之外的所有列
             AREA  AA5000  HOLD  LEVEL  TYPE   ID  TAZCE10_N                                           geometry
City                                                                                                                    
Detroit  0.120861     2.0     1.0       5.0       0.0  1.0     1101.0  (POLYGON ((-83.47904699999999 41.706103, -83.4...
Austin        NaN     NaN     NaN       NaN       NaN  NaN        NaN  (POLYGON ((-97.577304 29.610979, -97.580744999...

所以它看起来像这样:

City      geometry                                                                                                                
Detroit  (POLYGON ((-83.47904699999999 41.706103, -83.4...
Austin   (POLYGON ((-97.577304 29.610979, -97.580744999...

从技术上讲,这是我暂时转换为普通 df 的 geopandas df,因为 geopandas 没有 droplevel()。我已经尝试了下面的语句,但它们不起作用并且 droplevel 抛出错误“AttributeError:'Index' object has no attribute 'droplevel'。

    df.columns = [c[-1] for c in df.columns]
    df.reset_index()
    df.columns.droplevel()

您可以尝试 dropnathresh

df=df.dropna(axis=1,thresh=len(df)).reset_index()