使用 UDF 删除多列 - python3

Drop multiple columns using UDF - python3

我正在尝试使用创建的函数删除几乎一半的数据框。请注意,它看起来没有吸引力。

def drop_cols(df):
  df.drop(['scrape_id','last_scraped','description','listing_url','neighbourhood','calendar_last_scraped',
           'amenities','neighborhood_overview', 'picture_url','host_url', 'host_about',
           'host_location','host_total_listings_count','host_thumbnail_url','host_picture_url',
           'host_verifications','bathrooms_text','has_availability','minimum_minimum_nights',
           'maximum_minimum_nights','minimum_maximum_nights','maximum_maximum_nights','minimum_nights_avg_ntm',
           'maximum_nights_avg_ntm','number_of_reviews_l30d','calculated_host_listings_count',
           'calculated_host_listings_count_entire_homes','calculated_host_listings_count_private_rooms',
           'calculated_host_listings_count_shared_rooms'],axis=1)
  return df

调用函数没有给我任何改变。我仍然有完整的数据框。 有什么想法吗?我认为这是一个基本的缩进问题。

您需要告诉 drop 方法您正在就地删除列(在同一个 df 中),否则您需要再次声明 df

在轴声明 (axis=1) 后添加 inplace = true 并重试。