[英]Spark copying dataframe columns best practice in Python/PySpark?
[英]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.