Python 如何在Azure DataRicks Spark中从数据帧获取特定的行和列
我在Azure Datatricks中有一个数据帧,看起来像Python 如何在Azure DataRicks Spark中从数据帧获取特定的行和列,python,azure,apache-spark,apache-spark-sql,databricks,Python,Azure,Apache Spark,Apache Spark Sql,Databricks,我在Azure Datatricks中有一个数据帧,看起来像 Col a| Col b ------------ Marc | Taylor John | McC Bill | Gates 我想提取一个特定的列和行。我知道如何提取特定列并将其分配给变量 result = ds.select(Col a) 但是如何获取这行代码中的行号2呢?您可以使用单调递增的\u id()函数生成一个带有序列号的新列,然后使用过滤器函数过滤该行 from pyspark.sql.functions impor
Col a| Col b
------------
Marc | Taylor
John | McC
Bill | Gates
我想提取一个特定的列和行。我知道如何提取特定列并将其分配给变量
result = ds.select(Col a)
但是如何获取这行代码中的行号2呢?您可以使用
单调递增的\u id()
函数生成一个带有序列号的新列,然后使用过滤器
函数过滤该行
from pyspark.sql.functions import *
ds.withColumn('sn', monotonically_increasing_id())\
.filter(col('sn') == 1)\
.drop('sn')\
.show(truncate=False)
那会给你什么
+-----+-----+
|Col a|Col b|
+-----+-----+
|John |McC |
+-----+-----+
注意:单调递增的\u id将生成递增的订单号,但不保证生成从0开始的序列号。
总之,filter()
和select()/where()
函数是从数据帧中选择行的两种方法
我希望答案是有帮助的我可以使用以下方法获得python的值:
df_sample=yourDataFrame.select(collect_list(“Col b”).别名(“a”))
value=df_sample.select(列(“a”).getItem(1).别名(“x”))
显示(值)
希望能有帮助