三五做网站,云南文投建设投资有限公司网站,网站代码加密,汽车类网站设计规划在PySpark中#xff0c;选择和访问数据是处理Spark DataFrame的基本操作。以下是一些常用的方法来选择和访问DataFrame中的数据。
选择列#xff08;Selecting Columns#xff09;: select: 用于选择DataFrame中的特定列。selectExpr: 用于通过SQL表达式选择列。 df.select…在PySpark中选择和访问数据是处理Spark DataFrame的基本操作。以下是一些常用的方法来选择和访问DataFrame中的数据。
选择列Selecting Columns: select: 用于选择DataFrame中的特定列。selectExpr: 用于通过SQL表达式选择列。 df.select(name, age) # 选择name和age列
df.select(df.name, df.age 10) # 选择name列和age列加10
df.selectExpr(name, age 10 as age_plus_10) # 使用SQL表达式选择列筛选行Filtering Rows: filter: 用于根据指定条件筛选DataFrame中的行。 df.filter(df.age 30) # 筛选年龄大于30的行
df.filter((df.age 30) (df.gender male)) # 筛选年龄大于30且性别为男的行排序数据Sorting Data: orderBy: 用于根据指定列排序DataFrame。sort: 与orderBy类似用于排序DataFrame。 df.orderBy(age, ascendingFalse) # 按年龄降序排序
df.sort(df.age.desc()) # 按年龄降序排序抽样数据Sampling Data: sample: 用于对DataFrame进行随机抽样。 df.sample(0.5, seed42) # 抽取50%的数据随机种子为42distinct 数据Distinct Data: distinct: 用于去除DataFrame中的重复行。 df.distinct() # 去除重复行随机分割数据Randomly Splitting Data: randomSplit: 用于将DataFrame随机分割成多个DataFrame。 df.randomSplit([0.7, 0.3], seed42) # 将数据随机分割为70%和30%列操作Column Operations: withColumn: 用于添加或替换DataFrame中的列。withColumnRenamed: 用于重命名DataFrame中的列。 df.withColumn(age_plus_10, df.age 10) # 添加新列age_plus_10
df.withColumnRenamed(old_name, new_name) # 重命名列聚合数据Aggregating Data: groupBy: 用于对DataFrame进行分组。agg: 用于对分组后的DataFrame进行聚合操作。 df.groupBy(gender).agg({age: mean}) # 按性别分组并计算平均年龄窗口函数Window Functions: window: 用于创建一个窗口 specification用于窗口函数的计算。over: 用于指定窗口函数的应用范围。 from pyspark.sql.window import Window
windowSpec Window.partitionBy(gender).orderBy(age)
df.withColumn(row_number, row_number().over(windowSpec)) # 计算行号集合操作Set Operations: union: 合并两个DataFrame去除重复行。unionAll: 合并两个DataFrame不去除重复行。intersect: 获取两个DataFrame的交集。except: 获取两个DataFrame的差集。 df1.union(df2) # 合并df1和df2去除重复行
df1.unionAll(df2) # 合并df1和df2不去除重复行访问数据Accessing Data: collect: 将DataFrame的数据作为一个Python列表返回。take: 返回DataFrame中的前几行。show: 显示DataFrame的内容。 df.collect() # 返回DataFrame的所有数据
df.take(5) # 返回DataFrame的前5行
df.show() # 显示DataFrame的内容这些是PySpark中选择和访问数据的一些基本操作。你可以根据需要组合使用这些操作来处理和分析数据。