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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。