本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。