本文簡要介紹
pyspark.pandas.DataFrame.where
的用法。用法:
DataFrame.where(cond: Union[DataFrame, Series], other: Union[DataFrame, Series, Any] = nan, axis: Union[int, str] = None) → DataFrame
替換條件為 False 的值。
- cond:布爾值DataFrame
如果 cond 為 True,則保留原始值。如果為 False,則替換為其他對應的值。
- other:標量,DataFrame
cond 為 False 的條目將替換為來自 other 的相應值。
- axis:整數,默認無
為了與 pandas 兼容,目前隻能設置為 0。
- DataFrame
參數:
返回:
例子:
>>> from pyspark.pandas.config import set_option, reset_option >>> set_option("compute.ops_on_diff_frames", True) >>> df1 = ps.DataFrame({'A': [0, 1, 2, 3, 4], 'B':[100, 200, 300, 400, 500]}) >>> df2 = ps.DataFrame({'A': [0, -1, -2, -3, -4], 'B':[-100, -200, -300, -400, -500]}) >>> df1 A B 0 0 100 1 1 200 2 2 300 3 3 400 4 4 500 >>> df2 A B 0 0 -100 1 -1 -200 2 -2 -300 3 -3 -400 4 -4 -500
>>> df1.where(df1 > 0).sort_index() A B 0 NaN 100.0 1 1.0 200.0 2 2.0 300.0 3 3.0 400.0 4 4.0 500.0
>>> df1.where(df1 > 1, 10).sort_index() A B 0 10 100 1 10 200 2 2 300 3 3 400 4 4 500
>>> df1.where(df1 > 1, df1 + 100).sort_index() A B 0 100 100 1 101 200 2 2 300 3 3 400 4 4 500
>>> df1.where(df1 > 1, df2).sort_index() A B 0 0 100 1 -1 200 2 2 300 3 3 400 4 4 500
當 cond 的列名與 self 不同時,它認為所有的值都是 False
>>> cond = ps.DataFrame({'C': [0, -1, -2, -3, -4], 'D':[4, 3, 2, 1, 0]}) % 3 == 0 >>> cond C D 0 True False 1 False True 2 False False 3 True False 4 False True
>>> df1.where(cond).sort_index() A B 0 NaN NaN 1 NaN NaN 2 NaN NaN 3 NaN NaN 4 NaN NaN
當 cond 的類型是 Series 時,它隻檢查 boolean 而不考慮列名
>>> cond = ps.Series([1, 2]) > 1 >>> cond 0 False 1 True dtype: bool
>>> df1.where(cond).sort_index() A B 0 NaN NaN 1 1.0 200.0 2 NaN NaN 3 NaN NaN 4 NaN NaN
>>> reset_option("compute.ops_on_diff_frames")
相關用法
- Python pyspark DataFrame.withColumn用法及代碼示例
- Python pyspark DataFrame.withColumnRenamed用法及代碼示例
- Python pyspark DataFrame.withWatermark用法及代碼示例
- Python pyspark DataFrame.writeTo用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataFrame.align用法及代碼示例
- Python pyspark DataFrame.plot.bar用法及代碼示例
- Python pyspark DataFrame.to_delta用法及代碼示例
- Python pyspark DataFrame.quantile用法及代碼示例
- 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用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.where。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。