pyspark.pandas.Series.loc
的用法。用法:
property Series.loc
通過標簽或布爾係列訪問一組行和列。
.loc[]
主要基於標簽,但也可以與從 DataFrame 或係列派生的條件布爾係列一起使用。允許的輸入是:
單個標簽,例如
5
或者'a'
, (注意5
被解釋為標簽的 index ,和絕不作為沿索引的整數位置)用於列選擇。標簽列表或數組,例如
['a', 'b', 'c']
。帶有標簽的切片對象,例如
'a':'f'
。從 DataFrame 或係列派生的條件布爾係列
與被切片的列軸長度相同的布爾數組,例如
[True, False, True]
。一個可對齊的布爾 Pandas 係列到被切片的列軸。鍵的索引將在屏蔽之前對齊。
Pandas 允許的不允許輸入是:
與被切片的行軸長度相同的布爾數組,例如
[True, False, True]
。帶有一個參數的
callable
函數(調用係列、DataFrame 或麵板)並返回有效的索引輸出(以上之一)
注意
尚不支持MultiIndex。
注意
請注意,與通常的 python 切片相反,兩個都包括起點和終點,不允許切片的步長。
注意
對於行選擇的標簽列表或數組,pandas-on-Spark 充當過濾器,無需按標簽重新排序。
例子:
獲取值
>>> df = ps.DataFrame([[1, 2], [4, 5], [7, 8]], ... index=['cobra', 'viper', 'sidewinder'], ... columns=['max_speed', 'shield']) >>> df max_speed shield cobra 1 2 viper 4 5 sidewinder 7 8
單標簽。請注意,這會將行作為係列返回。
>>> df.loc['viper'] max_speed 4 shield 5 Name: viper, dtype: int64
標簽列表。注意使用
[[]]
返回一個DataFrame。另請注意,pandas-on-Spark 隻是一個過濾器,沒有按標簽重新排序。>>> df.loc[['viper', 'sidewinder']] max_speed shield viper 4 5 sidewinder 7 8
>>> df.loc[['sidewinder', 'viper']] max_speed shield viper 4 5 sidewinder 7 8
列的單個標簽。
>>> df.loc['cobra', 'shield'] 2
行的標簽列表。
>>> df.loc[['cobra'], 'shield'] cobra 2 Name: shield, dtype: int64
列的標簽列表。
>>> df.loc['cobra', ['shield']] shield 2 Name: cobra, dtype: int64
行和列的標簽列表。
>>> df.loc[['cobra'], ['shield']] shield cobra 2
帶有行標簽和列標簽的切片。如上所述,請注意切片的開始和停止都包括在內。
>>> df.loc['cobra':'viper', 'max_speed'] cobra 1 viper 4 Name: max_speed, dtype: int64
返回布爾係列的條件
>>> df.loc[df['shield'] > 6] max_speed shield sidewinder 7 8
返回具有指定列標簽的布爾係列的條件
>>> df.loc[df['shield'] > 6, ['max_speed']] max_speed sidewinder 7
與被切片的列軸長度相同的布爾數組。
>>> df.loc[:, [False, True]] shield cobra 2 viper 5 sidewinder 8
與被切片的列軸對齊的布爾係列。
>>> df.loc[:, pd.Series([False, True], index=['max_speed', 'shield'])] shield cobra 2 viper 5 sidewinder 8
設定值
為與標簽列表匹配的所有項目設置值。
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50 >>> df max_speed shield cobra 1 2 viper 4 50 sidewinder 7 50
整行的設置值
>>> df.loc['cobra'] = 10 >>> df max_speed shield cobra 10 10 viper 4 50 sidewinder 7 50
為整列設置值
>>> df.loc[:, 'max_speed'] = 30 >>> df max_speed shield cobra 30 10 viper 30 50 sidewinder 30 50
為整個列列表設置值
>>> df.loc[:, ['max_speed', 'shield']] = 100 >>> df max_speed shield cobra 100 100 viper 100 100 sidewinder 100 100
用 Series 設置值
>>> df.loc[:, 'shield'] = df['shield'] * 2 >>> df max_speed shield cobra 100 200 viper 100 200 sidewinder 100 200
使用具有整數標簽的索引獲取 DataFrame 上的值
另一個使用整數作為索引的例子
>>> df = ps.DataFrame([[1, 2], [4, 5], [7, 8]], ... index=[7, 8, 9], ... columns=['max_speed', 'shield']) >>> df max_speed shield 7 1 2 8 4 5 9 7 8
用整數標簽對行進行切片。如上所述,請注意切片的開始和停止都包括在內。
>>> df.loc[7:9] max_speed shield 7 1 2 8 4 5 9 7 8
相關用法
- Python pyspark Series.last_valid_index用法及代碼示例
- Python pyspark Series.last用法及代碼示例
- Python pyspark Series.lt用法及代碼示例
- Python pyspark Series.le用法及代碼示例
- Python pyspark Series.asof用法及代碼示例
- Python pyspark Series.to_frame用法及代碼示例
- Python pyspark Series.rsub用法及代碼示例
- Python pyspark Series.mod用法及代碼示例
- Python pyspark Series.str.join用法及代碼示例
- Python pyspark Series.str.startswith用法及代碼示例
- Python pyspark Series.dt.is_quarter_end用法及代碼示例
- Python pyspark Series.dropna用法及代碼示例
- Python pyspark Series.sub用法及代碼示例
- Python pyspark Series.sum用法及代碼示例
- Python pyspark Series.gt用法及代碼示例
- Python pyspark Series.iloc用法及代碼示例
- Python pyspark Series.explode用法及代碼示例
- Python pyspark Series.str.slice_replace用法及代碼示例
- Python pyspark Series.dt.is_month_end用法及代碼示例
- Python pyspark Series.plot.barh用法及代碼示例
- Python pyspark Series.between用法及代碼示例
- Python pyspark Series.floordiv用法及代碼示例
- Python pyspark Series.describe用法及代碼示例
- Python pyspark Series.ndim用法及代碼示例
- Python pyspark Series.str.rjust用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.Series.loc。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。