本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。