DataFrame从、RDD列表、列表、pandas.DataFrame列表numpy.ndarray、或项创建一个pyarrow.Table。
Syntax
createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True)
参数
| 参数 | 类型 | Description |
|---|---|---|
data |
RDD 或可迭代 | 任何类型的 SQL 数据表示形式的 RDD(Row、、tuple、intbool、dict等)或 、listpandas.DataFrame、numpy.ndarray或pyarrow.Table。 |
schema |
DataType、str 或 list(可选) | 一 DataType个、数据类型字符串或列名列表。 提供列名列表时,将推断 data出每个列的类型。 当None,架构是从data(需要或Rownamedtuple)推断出来的dict。
DataType提供数据类型字符串时,它必须与实际数据匹配。 |
samplingRatio |
float,可选 | 用于架构推理的行的示例比率(当 data 为 RDD. 如果使用 None前几行。 |
verifySchema |
bool,可选 | 根据架构验证每行的数据类型。 默认启用。
pyarrow.Table不支持输入或已启用箭头的 pandas 转换。 |
退货
DataFrame
注释
用法是实验性的 spark.sql.execution.arrow.pyspark.enabled=True 。
示例
# Create a DataFrame from a list of tuples.
spark.createDataFrame([('Alice', 1)]).show()
# +-----+---+
# | _1| _2|
# +-----+---+
# |Alice| 1|
# +-----+---+
# Create a DataFrame from a list of dictionaries.
spark.createDataFrame([{'name': 'Alice', 'age': 1}]).show()
# +---+-----+
# |age| name|
# +---+-----+
# | 1|Alice|
# +---+-----+
# Create a DataFrame with column names specified.
spark.createDataFrame([('Alice', 1)], ['name', 'age']).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice| 1|
# +-----+---+
# Create a DataFrame with an explicit schema.
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
schema = StructType([
StructField("name", StringType(), True),
StructField("age", IntegerType(), True)])
spark.createDataFrame([('Alice', 1)], schema).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice| 1|
# +-----+---+
# Create a DataFrame with a DDL-formatted schema string.
spark.createDataFrame([('Alice', 1)], "name: string, age: int").show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice| 1|
# +-----+---+
# Create an empty DataFrame (schema is required when data is empty).
spark.createDataFrame([], "name: string, age: int").show()
# +----+---+
# |name|age|
# +----+---+
# +----+---+
# Create a DataFrame from Row objects.
from pyspark.sql import Row
Person = Row('name', 'age')
spark.createDataFrame([Person("Alice", 1)]).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice| 1|
# +-----+---+