Aller au contenu principal

createDataFrame

Crée un DataFrame à partir d'un RDD, d'une liste, d'un pandas.DataFrame, d'un numpy.ndarray ou d'un pyarrow.Table.

Syntaxe

createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True)

parameter

parameter

Type

Description

data

RDD ou itérable

Un RDD de tout type de représentation de données SQL (Row, tuple, int, bool, dict, etc.), ou un list, pandas.DataFrame, numpy.ndarray, ou pyarrow.Table.

schema

DataType, chaîne ou liste, facultatif

Un DataType, une chaîne de caractères de type de données, ou une liste de noms de colonnes. Lorsqu'une liste de noms de colonnes est fournie, le type de chaque colonne est inféré de data. Lorsque None, le schéma est déduit de data (nécessite Row, namedtuple ou dict). Lorsqu'une chaîne DataType ou de type de données est fournie, elle doit correspondre aux données réelles.

samplingRatio

flottant, facultatif

Le taux d'échantillonnage des lignes utilisées pour l'inférence de schéma lorsque data est un RDD. Si None, les premières lignes sont utilisées.

verifySchema

bool, facultatif

Vérifiez les types de données de chaque ligne par rapport au schéma. Activé par default. Non pris en charge avec l’entrée pyarrow.Table ou la conversion pandas compatible Arrow.

parameter

Type

Description

data

RDD ou itérable

Un RDD de tout type de représentation de données SQL (Row, tuple, int, bool, dict, etc.), ou un list, pandas.DataFrame, numpy.ndarray, ou pyarrow.Table.

schema

DataType, chaîne ou liste, facultatif

Un DataType, une chaîne de caractères de type de données, ou une liste de noms de colonnes. Lorsqu'une liste de noms de colonnes est fournie, le type de chaque colonne est inféré de data. Lorsque None, le schéma est déduit de data (nécessite Row, namedtuple ou dict). Lorsqu'une chaîne DataType ou de type de données est fournie, elle doit correspondre aux données réelles.

samplingRatio

flottant, facultatif

Le taux d'échantillonnage des lignes utilisées pour l'inférence de schéma lorsque data est un RDD. Si None, les premières lignes sont utilisées.

verifySchema

bool, facultatif

Vérifiez les types de données de chaque ligne par rapport au schéma. Activé par default. Non pris en charge avec l’entrée pyarrow.Table ou la conversion pandas compatible Arrow.

Renvoie

DataFrame

Notes

L'utilisation avec spark.sql.execution.arrow.pyspark.enabled=True est expérimentale.

Exemples

Python
# 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|
# +-----+---+