PySpark 切片并选择特定的行数

当数据量巨大无法使用pandas时,PySpark提供了解决方案。可以通过`between`函数筛选数值范围,`take`和`head`获取前几行。针对字符串列和中间行的选择,可以先添加行索引再筛选。
摘要由CSDN通过智能技术生成

在PySpark需要选择特定的某些行,数据量巨大而没法转到pandas的dataframe操作。

1. 如果内容为数值,可以用between函数筛选。

参考资料:http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.Column.between

下面的例子,表示筛选出(id >= 5) 及 (id <= 10)的行。

from pyspark.sql.functions import col

df.where(col("id").between(5, 10))

2. 如果选择前多少行,可以用take函数和head函数。

下面的例子,分别表示选择第3行和第5行。

list = df.head(3)
list = df.take(5)

3.选择dataframe中间的特定行数。

而我使用的dataframe前两种方法都没法解决。特点如下:

  1. 特定列中的内容为字符串,并非数值,不能直接比较大小。
  2. 所选取数据为中间行,如第10
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值