pyspark.pandas.DataFrame.query

DataFrame。 查詢 ( expr:str,原地:bool= )→可選(pyspark.pandas.frame.DataFrame]

查詢的列DataFrame布爾表達式。

請注意

內部列開始“__”前綴可以訪問,然而,他們不應該被訪問。

請注意

這個API代表火花SQL的語法是火花SQL。因此,熊貓等特定語法@不支持。如果你想要熊貓的語法,你可以解決DataFrame.pandas_on_spark.apply_batch (),但你應該知道query_func將執行在不同的節點在一個分布式的方式。例如,使用@語法,確保變量是序列化的,例如,在關閉如下。

> > >df=psDataFrame({“一個”:範圍(2000年),“B”:範圍(2000年)})> > >defquery_func(pdf):全國礦工工會=1995年返回pdf查詢(“> @num”)> > >dfpandas_on_sparkapply_batch(query_func)一個B1996 1996 19961997 1997 19971998 1998 19981999 1999 1999
參數
expr str

查詢字符串來評估。

您可以參考列名包含空間周圍的引號。

例如,如果你的一個列一個一個你想和它b應該是,你的查詢“一個一個“+b

原地 bool

查詢是否應該修改數據或返回修改後的副本。

返回
DataFrame

DataFrame造成所提供的查詢表達式。

例子

> > >df=psDataFrame({“一個”:範圍(1,6),“B”:範圍(10,0,- - - - - -2),“C C”:範圍(10,5,- - - - - -1)})> > >dfA B C C0 1 10 101 2 8 92 3 6 83 4 4 74 2 5 6
> > >df查詢(“> B”)A B C C4 2 5 6

前麵的表達式是等價的

> > >df(df一個>dfB]A B C C4 2 5 6

列在他們的名字空間,您可以使用撇號引用。

> > >df查詢(B = = C C”)A B C C0 1 10 10

前麵的表達式是等價的

> > >df(dfB= =df(“C C”]]A B C C0 1 10 10