本文简要介绍
pyspark.pandas.DataFrame.query
的用法。用法:
DataFrame.query(expr: str, inplace: bool = False) → Optional[pyspark.pandas.frame.DataFrame]
使用布尔表达式查询 DataFrame 的列。
注意
以‘__’ 前缀开头的内部列可以访问,但是它们不应该被访问。
注意
此 API 委托给 Spark SQL,因此语法遵循 Spark SQL。因此,不支持 pandas 特定的语法,例如
@
。如果你想要 pandas 语法,你可以使用DataFrame.pandas_on_spark.apply_batch()
,但你应该知道query_func
将以分布式方式在不同的节点上执行。因此,例如,要使用@
语法,请确保变量被序列化,例如,将其放在闭包中,如下所示。>>> df = ps.DataFrame({'A': range(2000), 'B': range(2000)}) >>> def query_func(pdf): ... num = 1995 ... return pdf.query('A > @num') >>> df.pandas_on_spark.apply_batch(query_func) A B 1996 1996 1996 1997 1997 1997 1998 1998 1998 1999 1999 1999
- expr:str
要评估的查询字符串。
您可以通过用反引号括起来来引用包含空格的列名。
例如,如果您的一列称为
a a
并且您想将其与b
相加,则您的查询应该是`a a` + b
。- inplace:bool
查询是否应就地修改数据或返回修改后的副本。
- DataFrame
DataFrame 由提供的查询表达式生成。
参数:
返回:
例子:
>>> df = ps.DataFrame({'A': range(1, 6), ... 'B': range(10, 0, -2), ... 'C C': range(10, 5, -1)}) >>> df A B C C 0 1 10 10 1 2 8 9 2 3 6 8 3 4 4 7 4 5 2 6
>>> df.query('A > B') A B C C 4 5 2 6
前面的表达式等价于
>>> df[df.A > df.B] A B C C 4 5 2 6
对于名称中带有空格的列,您可以使用反引号。
>>> df.query('B == `C C`') A B C C 0 1 10 10
前面的表达式等价于
>>> df[df.B == df['C C']] A B C C 0 1 10 10
相关用法
- Python pyspark DataFrame.quantile用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataFrame.align用法及代码示例
- Python pyspark DataFrame.plot.bar用法及代码示例
- Python pyspark DataFrame.to_delta用法及代码示例
- Python pyspark DataFrame.cumsum用法及代码示例
- Python pyspark DataFrame.iloc用法及代码示例
- Python pyspark DataFrame.dropDuplicates用法及代码示例
- Python pyspark DataFrame.printSchema用法及代码示例
- Python pyspark DataFrame.to_table用法及代码示例
- Python pyspark DataFrame.rmod用法及代码示例
- Python pyspark DataFrame.div用法及代码示例
- Python pyspark DataFrame.drop_duplicates用法及代码示例
- Python pyspark DataFrame.to_pandas用法及代码示例
- Python pyspark DataFrame.sum用法及代码示例
- Python pyspark DataFrame.transform用法及代码示例
- Python pyspark DataFrame.get用法及代码示例
- Python pyspark DataFrame.rsub用法及代码示例
- Python pyspark DataFrame.pandas_on_spark.apply_batch用法及代码示例
- Python pyspark DataFrame.groupBy用法及代码示例
- Python pyspark DataFrame.head用法及代码示例
- Python pyspark DataFrame.copy用法及代码示例
- Python pyspark DataFrame.values用法及代码示例
- Python pyspark DataFrame.reindex_like用法及代码示例
- Python pyspark DataFrame.between_time用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.query。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。