如何过滤pyspark数据帧

赛勒斯·穆罕默德(Cyrus Mohammadian)

我已经看到许多与过滤pyspark数据帧有关的问题,但是尽管我已尽了最大努力,但我仍无法使任何非SQL解决方案都能正常工作。

+----------+-------------+-------+--------------------+--------------+---+
|purch_date|  purch_class|tot_amt|       serv-provider|purch_location| id|
+----------+-------------+-------+--------------------+--------------+---+
|03/11/2017|Uncategorized| -17.53|             HOVER  |              |  0|
|02/11/2017|    Groceries| -70.05|1774 MAC'S CONVEN...|     BRAMPTON |  1|
|31/10/2017|Gasoline/Fuel|    -20|              ESSO  |              |  2|
|31/10/2017|       Travel|     -9|TORONTO PARKING A...|      TORONTO |  3|
|30/10/2017|    Groceries|  -1.84|         LONGO'S # 2|              |  4|

这不起作用:

df1 = spark.read.csv("/some/path/to/file", sep=',')\
            .filter((col('purch_location')=='BRAMPTON')

而且这没有用

df1 = spark.read.csv("/some/path/to/file", sep=',')\
            .filter(purch_location == 'BRAMPTON')

这个(SQL表达式)有效,但需要很长时间,我想有一种更快的非SQL方法

df1 = spark.read.csv("/some/path/to/file", sep=',')\
            .filter(purch_location == 'BRAMPTON')

更新我应该提到我能够使用类似的方法(其运行速度比SQL表达式快):

df1 = spark.read.csv("/some/path/to/file", sep=',')
df2 = df1.filter(df1.purch_location == "BRAMPTON")

但是要了解为什么“管道”/连接语法不正确。

麦克

如果您坚持使用反斜杠,则可以执行以下操作:

from pyspark.sql.functions import col

df = spark.read.csv('/some/path/to/file', sep=',') \
     .filter(col('purch_location') == 'BRAMPTON')

您的第一次尝试失败,因为方括号不平衡。

此外,在字符串之后似乎还有一些空格BRAMPTON,因此您可能trim要先进入该列:

from pyspark.sql.functions import col, trim

df = spark.read.csv('/some/path/to/file', sep=',') \
     .filter(trim(col('purch_location')) == 'BRAMPTON')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分组并过滤Pyspark数据帧

来自分类Dev

Pyspark 数据帧过滤语法错误

来自分类Dev

Pyspark如何过滤掉列表中存在的数据帧中的数据

来自分类Dev

Pyspark 忽略 pyspark-sql-functions 中数据帧的过滤

来自分类Dev

Pyspark:如何根据字符串和不存在前缀来过滤数据帧?

来自分类Dev

建立方法调用以动态过滤pyspark数据帧

来自分类Dev

如何过滤两列条件的数据帧?

来自分类Dev

如何在pyspark中转置数据帧?

来自分类Dev

如何从 PySpark 中的 RDD 创建数据帧?

来自分类Dev

如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

来自分类Dev

Pyspark``for''循环无法使用.filter()正确过滤pyspark-sql数据帧

来自分类Dev

数据帧过滤

来自分类Dev

数据帧的列式过滤

来自分类Dev

提取过滤的数据帧

来自分类Dev

当列数是动态的时,如何从数据帧中过滤数据?

来自分类Dev

如何在PySpark数据帧上的列(具有(字符串的)数据类型数组)上应用过滤器?

来自分类Dev

如何避免循环为熊猫数据帧过滤指定限制?

来自分类Dev

R如何根据后续行中的条件过滤数据帧?

来自分类Dev

如何使用字符向量过滤数据帧

来自分类Dev

如何基于列名的向量过滤R中的数据帧?

来自分类Dev

如何提供动态变化的OR条件以过滤数据帧

来自分类Dev

如何从字符串变量中过滤数据帧

来自分类Dev

如何避免循环为熊猫数据帧过滤指定限制?

来自分类Dev

如何在多个条件下过滤数据帧?

来自分类Dev

如何在适当的地方增加PySpark数据帧的分区?

来自分类Dev

如何在pyspark数据帧中创建嵌套字典

来自分类Dev

如何在限制行数的同时拆分Pyspark数据帧?

来自分类Dev

如何在pyspark中将密集向量转换为数据帧?

来自分类Dev

pyspark:如何获取spark数据帧的Spark SQLContext?

Related 相关文章

  1. 1

    分组并过滤Pyspark数据帧

  2. 2

    Pyspark 数据帧过滤语法错误

  3. 3

    Pyspark如何过滤掉列表中存在的数据帧中的数据

  4. 4

    Pyspark 忽略 pyspark-sql-functions 中数据帧的过滤

  5. 5

    Pyspark:如何根据字符串和不存在前缀来过滤数据帧?

  6. 6

    建立方法调用以动态过滤pyspark数据帧

  7. 7

    如何过滤两列条件的数据帧?

  8. 8

    如何在pyspark中转置数据帧?

  9. 9

    如何从 PySpark 中的 RDD 创建数据帧?

  10. 10

    如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

  11. 11

    Pyspark``for''循环无法使用.filter()正确过滤pyspark-sql数据帧

  12. 12

    数据帧过滤

  13. 13

    数据帧的列式过滤

  14. 14

    提取过滤的数据帧

  15. 15

    当列数是动态的时,如何从数据帧中过滤数据?

  16. 16

    如何在PySpark数据帧上的列(具有(字符串的)数据类型数组)上应用过滤器?

  17. 17

    如何避免循环为熊猫数据帧过滤指定限制?

  18. 18

    R如何根据后续行中的条件过滤数据帧?

  19. 19

    如何使用字符向量过滤数据帧

  20. 20

    如何基于列名的向量过滤R中的数据帧?

  21. 21

    如何提供动态变化的OR条件以过滤数据帧

  22. 22

    如何从字符串变量中过滤数据帧

  23. 23

    如何避免循环为熊猫数据帧过滤指定限制?

  24. 24

    如何在多个条件下过滤数据帧?

  25. 25

    如何在适当的地方增加PySpark数据帧的分区?

  26. 26

    如何在pyspark数据帧中创建嵌套字典

  27. 27

    如何在限制行数的同时拆分Pyspark数据帧?

  28. 28

    如何在pyspark中将密集向量转换为数据帧?

  29. 29

    pyspark:如何获取spark数据帧的Spark SQLContext?

热门标签

归档