簡體   English   中英

PySpark Dataframe 的最佳實踐 - 刪除多列?

[英]Best practice for PySpark Dataframe - to drop multiple columns?

假設有人想從 dataframe 中刪除一列。 可以在不創建新的 dataframe 的情況下完成嗎?

df = df.drop("tags_s")

似乎創建一個新的 dataframe 更安全,更正確,對嗎? 如上所述重新使用 dataframe 可能會遇到什么問題?

如果重復使用 dataframe 是一種不好的做法,假設有人想要刪除與模式匹配的幾列:

for col in df.columns:
  if col.startswith("aux_"):
    df = df.drop(col)

在這種情況下,每次都創建一個新的 dataframe 似乎不切實際。 最佳做法是什么?

如果要刪除多個列,我想說第一步是識別列,將其保存在列表中,然后執行單個.drop ,例如:

your_column_list = [col for col in df.columns if col.startswith("aux") ]
df.drop(*your_column_list)

這是根據我對火花 dataframe 的理解,你不必擔心它每次都會返回新的 dataframe,你在做什么只是對 Z6A8064B5DF47945555005Z53C4C7 進行改造您可以對 dataframe 執行許多轉換,只有當您對 dataframe 執行任何操作時,它才會生成新的 Z6A8064B5DF479455500553C47C5507。

以下是有關轉換與操作的更多信息, https://spark.apache.org/docs/latest/rdd-programming-guide.html#basics

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM