本文简要介绍
pyspark.pandas.DataFrame.spark.frame
的用法。用法:
spark.frame(index_col: Union[str, List[str], None] = None) → pyspark.sql.dataframe.DataFrame
将当前的 DataFrame 作为 Spark DataFrame 返回。
DataFrame.spark.frame()
是DataFrame.to_spark()
的别名。- index_col: str or list of str, optional, default: None:
在 Spark 中用于表示 pandas-on-Spark 的索引的列名。 pandas-on-Spark 中的索引名称被忽略。默认情况下,索引总是丢失。
参数:
例子:
默认情况下,此方法会丢失索引,如下所示。
>>> df = ps.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}) >>> df.to_spark().show() +---+---+---+ | a| b| c| +---+---+---+ | 1| 4| 7| | 2| 5| 8| | 3| 6| 9| +---+---+---+
>>> df = ps.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}) >>> df.spark.frame().show() +---+---+---+ | a| b| c| +---+---+---+ | 1| 4| 7| | 2| 5| 8| | 3| 6| 9| +---+---+---+
如果设置了
index_col
,它将保留指定的索引列。>>> df.to_spark(index_col="index").show() +-----+---+---+---+ |index| a| b| c| +-----+---+---+---+ | 0| 1| 4| 7| | 1| 2| 5| 8| | 2| 3| 6| 9| +-----+---+---+---+
当您想要调用某些 Spark API 并将其转换回 pandas-on-Spark DataFrame 而不创建默认索引(这会影响性能)时,保留索引列非常有用。
>>> spark_df = df.to_spark(index_col="index") >>> spark_df = spark_df.filter("a == 2") >>> spark_df.to_pandas_on_spark(index_col="index") a b c index 1 2 5 8
如果是多索引,请将列表指定为
index_col
。>>> new_df = df.set_index("a", append=True) >>> new_spark_df = new_df.to_spark(index_col=["index_1", "index_2"]) >>> new_spark_df.show() +-------+-------+---+---+ |index_1|index_2| b| c| +-------+-------+---+---+ | 0| 1| 4| 7| | 1| 2| 5| 8| | 2| 3| 6| 9| +-------+-------+---+---+
同样,可以转换回pandas-on-Spark DataFrame。
>>> new_spark_df.to_pandas_on_spark( ... index_col=["index_1", "index_2"]) b c index_1 index_2 0 1 4 7 1 2 5 8 2 3 6 9
相关用法
- Python pyspark DataFrame.spark.to_table用法及代码示例
- Python pyspark DataFrame.spark.cache用法及代码示例
- Python pyspark DataFrame.spark.persist用法及代码示例
- Python pyspark DataFrame.spark.to_spark_io用法及代码示例
- Python pyspark DataFrame.spark.coalesce用法及代码示例
- Python pyspark DataFrame.spark.repartition用法及代码示例
- Python pyspark DataFrame.spark.hint用法及代码示例
- Python pyspark DataFrame.spark.apply用法及代码示例
- Python pyspark DataFrame.sum用法及代码示例
- Python pyspark DataFrame.sort_index用法及代码示例
- Python pyspark DataFrame.sem用法及代码示例
- Python pyspark DataFrame.sort_values用法及代码示例
- Python pyspark DataFrame.sampleBy用法及代码示例
- Python pyspark DataFrame.select用法及代码示例
- Python pyspark DataFrame.style用法及代码示例
- Python pyspark DataFrame.sortWithinPartitions用法及代码示例
- Python pyspark DataFrame.skew用法及代码示例
- Python pyspark DataFrame.set_index用法及代码示例
- Python pyspark DataFrame.sub用法及代码示例
- Python pyspark DataFrame.shape用法及代码示例
- Python pyspark DataFrame.sample用法及代码示例
- Python pyspark DataFrame.std用法及代码示例
- Python pyspark DataFrame.schema用法及代码示例
- Python pyspark DataFrame.size用法及代码示例
- Python pyspark DataFrame.show用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.spark.frame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。