Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySpark Dataframe删除多列的最佳实践?_Python_Dataframe_Apache Spark_Pyspark - Fatal编程技术网

Python PySpark Dataframe删除多列的最佳实践?

Python PySpark Dataframe删除多列的最佳实践?,python,dataframe,apache-spark,pyspark,Python,Dataframe,Apache Spark,Pyspark,假设有人想从数据帧中删除一列。在不创建新的数据帧的情况下,可以实现这一点吗 df=df.drop(“标签”) 似乎创建一个新的数据帧更安全、更正确,对吗?重复使用上述数据帧可能会遇到什么问题 如果重复使用数据帧是一种不好的做法,那么假设您想要删除多个与模式匹配的列: for col in df.columns: if col.startswith("aux_"): df = df.drop(col) 在这种情况下,每次创建一个新的数据帧似乎不切实际。 最佳做法是什么 如果要删除多个

假设有人想从数据帧中删除一列。在不创建新的数据帧的情况下,可以实现这一点吗

df=df.drop(“标签”)

似乎创建一个新的数据帧更安全、更正确,对吗?重复使用上述数据帧可能会遇到什么问题

如果重复使用数据帧是一种不好的做法,那么假设您想要删除多个与模式匹配的列:

for col in df.columns:
  if col.startswith("aux_"):
    df = df.drop(col)
在这种情况下,每次创建一个新的数据帧似乎不切实际。
最佳做法是什么

如果要删除多个列,我认为第一步是识别列,将其保存在列表中,然后执行单个
。删除
,类似于:

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

这是根据我对spark dataframe的理解,您不必担心它每次都返回新的dataframe,您在那里所做的只是对dataframe进行转换。您可以对数据帧执行许多转换,只有当您对数据帧执行任何操作时,它才会生成新的数据帧

下面是有关转换与操作的更多信息,

我对标题进行了编辑,使其更加具体,请看一看。并非每次都会创建新的数据框。你的方式很好。