Spark DataFrame相当于pandas.DataFrame.set_index / drop_duplicates vs. dropDuplicates

时间:2017-09-13 16:56:36

标签: python pandas pyspark spark-dataframe

Spark DataFrames的drop duplicates方法不起作用,我认为这是因为作为我的数据集一部分的索引列被视为一列数据。肯定有重复项,我通过在除索引之外的所有列上比较COUNT()COUNT(DISTINCT())来检查它。我是Spark DataFrames的新手,但如果我使用Pandas,此时我会在该列上进行pandas.DataFrame.set_index

有谁知道如何处理这种情况?

其次,Spark DataFrame上似乎有两种方法,drop_duplicatesdropDuplicates。它们是一样的吗?

1 个答案:

答案 0 :(得分:1)

如果您不希望在检查不同记录时考虑索引列,可以使用下面的命令删除列,或者只选择所需的列。

df = df.drop('p_index') // Pass column name to be dropped

df = df.select('name', 'age') // Pass the required columns

drop_duplicates()是dropDuplicates()的别名。

https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame.dropDuplicates