如何在PySpark数据框中访问某一列的特定索引处的值,例如我想要访问名为“Category”的列中索引5处的值。在PySpark语法中如何实现?
类似这样的内容,
value = df.where(df.index == 5).select('Category').collect()[0]['Category']
#assuming 'index' is index column
@mayank的回答很好,如果索引列不存在,可以继续执行。
将数据保存在csv文件中,命名为demo_date.csv:
job number,from_date,to_date
1,01-10-2010,31-12-9999
2,02-10-2010,31-12-9999
3,03-10-2010,31-12-9999
代码:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col,lit
spark = SparkSession.builder.appName('Basics').getOrCreate()
df = spark.read.csv('demo_date.csv', header=True)
#df.show()
val = df.where(col('job number') == lit(2)).select('job number').collect()[0]['job number']
print(val)
对我来说以上方法有效。