<class ‘pyspark.sql.dataframe.DataFrame‘>

在 PySpark 中,DataFrame 是一个分布式数据集,类似于 Pandas 中的 DataFrame。DataFrame 提供了许多内置的方法来帮助你处理数据。以下是一些常用的 DataFrame 方法及其简要说明:

1、数据查询和选择

  1. select():

    • 选择 DataFrame 中的一个或多个列。
    • 示例:df.select("column1", "column2")
  2. selectExpr():

    • 使用 SQL 表达式选择列。
    • 示例:df.selectExpr("column1 as new_column_name", "column2 + 1 as incremented_column")
  3. where() 或 filter():

    • 根据条件过滤行。
    • 示例:df.where(col("age") > 30) 或 df.filter(col("age") > 30)
  4. groupBy():

    • 对 DataFrame 进行分组,并执行聚合操作。
    • 示例:df.groupBy("city").agg(count("*").alias("count"), sum("age").alias("total_age"))
  5. orderBy() 或 sort():

    • 对 DataFrame 的行进行排序。
    • 示例:df.orderBy(col("age").desc())
  6. distinct():

    • 返回去重后的 DataFrame。
    • 示例:df.distinct()
  7. dropDuplicates() 或 drop_duplicates():

    • 根据某些列去重。
    • 示例:df.dropDuplicates(["column1"])
  8. head():

    • 获取 DataFrame 的前几行。
    • 示例:df.head(5)
  9. show():

    • 显示 DataFrame 的内容。
    • 示例:df.show()
  10. collect():

    • 将 DataFrame 的内容收集到驱动程序内存中。
    • 示例:df.collect()

2、数据转换

  1. withColumn():

    • 添加或更新 DataFrame 中的列。
    • 示例:df.withColumn("new_column", col("old_column") + 1)
  2. withColumnRenamed():

    • 重命名 DataFrame 中的列。
    • 示例:df.withColumnRenamed("old_column_name", "new_column_name")
  3. drop():

    • 删除 DataFrame 中的列。
    • 示例:df.drop("column_to_drop")
  4. fillna() 或 na.fill():

    • 替换 DataFrame 中的空值。
    • 示例:df.fillna(0) 或 df.na.fill(0)
  5. replace():

    • 替换 DataFrame 中的值。
    • 示例:df.replace("old_value", "new_value")

3、数据连接

  1. join():

    • 连接两个 DataFrame。
    • 示例:df1.join(df2, "common_column", "inner")
  2. union():

    • 合并两个 DataFrame。
    • 示例:df1.union(df2)
  3. subtract():

    • 从一个 DataFrame 中减去另一个 DataFrame 的行。
    • 示例:df1.subtract(df2)
  4. intersect():

    • 获取两个 DataFrame 的交集。
    • 示例:df1.intersect(df2)

4、数据读写

  1. write:

    • 将 DataFrame 写入文件或数据库。
    • 示例:df.write.csv("path/to/directory")
  2. read:

    • 从文件或数据库读取数据并创建 DataFrame。
    • 示例:spark.read.csv("path/to/directory")
  3. saveAsTable():

    • 将 DataFrame 保存为 Hive 表。
    • 示例:df.saveAsTable("my_table")
  4. createOrReplaceTempView():

    • 将 DataFrame 注册为临时视图。
    • 示例:df.createOrReplaceTempView("my_temp_view")
  5. createOrReplaceGlobalTempView():

    • 将 DataFrame 注册为全局临时视图。
    • 示例:df.createOrReplaceGlobalTempView("my_global_temp_view")

5、其他实用方法

  1. cache():

    • 缓存 DataFrame 以加快后续操作的速度。
    • 示例:df.cache()
  2. persist():

    • 持久化 DataFrame 以提高性能。
    • 示例:df.persist() 或 df.persist(StorageLevel.MEMORY_AND_DISK)
  3. count():

    • 计算 DataFrame 中的行数。
    • 示例:df.count()
  4. describe():

    • 描述 DataFrame 中的统计信息。
    • 示例:df.describe()
  5. explain():

    • 显示 DataFrame 的逻辑和物理执行计划。
    • 示例:df.explain()

这些方法可以帮助进行数据处理、清洗、转换和分析。

相关推荐
计算机毕业编程指导师2 小时前
大数据毕设选题推荐:基于Hadoop+Spark全球碳排放减排策略分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·碳排放减排
计算机毕业编程指导师1 天前
【计算机毕设选题】基于Hadoop的零售交易者行为特征与生存状况数据分析及可视化系统源码 毕业设计 选题推荐 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·零售
计算机毕业编程指导师2 天前
计算机毕设怎么做?Python+Hadoop的跨平台消费者评论情感分析与数据可视化系统实战 源码 毕业设计 选题推荐 毕设选题 数据分析
大数据·hadoop·python·计算机·spark·课程设计·消费者评论
计算机毕业编程指导师3 天前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
计算机毕业编程指导师4 天前
【Python毕设选题推荐】基于Spark的国内主要农作物产量趋势分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·python·数据分析·spark·毕业设计·课程设计·农作物产量
计算机毕业编程指导师4 天前
【Python毕设选题推荐】基于Spark的宫颈癌变光谱特征数据分析可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·宫颈癌变
计算机毕业编程指导师5 天前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师5 天前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
计算机毕业编程指导师5 天前
【大数据毕设选题推荐】基于Spark的WTA职业网球赛事演变与竞技格局分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·计算机·spark·毕业设计·课程设计·wta网球
计算机毕业编程指导师5 天前
【计算机毕设选题推荐】基于Spark与Hadoop的AI就业收入区域差异分析系统 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·数据分析·spark·毕业设计·课程设计·ai就业收入