Tous les produits
Search
Centre de documentation

MaxCompute:Séquence

Dernière mise à jour :Aug 10, 2026

SequenceExpr représente une seule colonne dans un DataFrame PyODPS.

Les objets SequenceExpr ne peuvent pas être créés directement. Récupérez-en un à partir d'un DataFrame (objet de collection).

Prérequis

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

Récupérer une colonne

Deux syntaxes sont prises en charge :

  • collection.column_name — fonctionne lorsque le nom de la colonne est un identifiant Python valide.

  • df[column_name] — fonctionne pour tout nom de colonne, y compris les noms stockés dans des variables.

# Attribute access
print(iris.sepallength.head(5))

# Bracket access — use when the column name is in a variable
col = 'sepallength'
print(iris[col].head(5))

Les deux méthodes renvoient le même résultat :

   sepallength
0          4.9
1          4.7
2          4.6
3          5.0
4          5.4

Types de colonnes

Le DataFrame possède son propre système de types. Lorsqu'un DataFrame est initialisé à partir d'une table MaxCompute, les types de données MaxCompute sont automatiquement mappés aux types DataFrame. Cette abstraction permet au même code DataFrame de s'exécuter sur plusieurs backends d'exécution : MaxCompute SQL, Pandas, MySQL et PostgreSQL.

Mappings de types

|
**Type MaxCompute**
|
**Type DataFrame**
|
**Notes**
| | --- | --- | --- | |
BIGINT
|
INT64
| | |
DOUBLE
|
FLOAT64
| | |
STRING
|
STRING
| | |
DATETIME
|
DATETIME
| | |
BOOLEAN
|
BOOLEAN
| | |
DECIMAL
|
DECIMAL
| | |
ARRAY\<VALUE_TYPE\>
|
LIST\<VALUE_TYPE\>
|
Le type d'élément doit être spécifié
| |
MAP\<KEY_TYPE, VALUE_TYPE\>
|
DICT\<KEY_TYPE, VALUE_TYPE\>
|
Les types d'éléments doivent être spécifiés
|

Pour activer la prise en charge étendue des types, définissez options.sql.use_odps2_extension=True :

|
**Type MaxCompute**
|
**Type DataFrame**
| | --- | --- | |
TINYINT
|
INT8
| |
SMALLINT
|
INT16
| |
INT
|
INT32
| |
FLOAT
|
FLOAT32
|





























































Notes d'utilisation

  • Types LIST et DICT : Spécifiez toujours les types d'éléments lorsque vous travaillez avec des colonnes LIST ou DICT. Leur omission génère une erreur.

  • Types non pris en charge : TIMESTAMP et STRUCT (introduits dans MaxCompute V2.0) ne sont pas pris en charge dans DataFrame.

Vérifier le type de colonne

Utilisez sequence.dtype pour inspecter le type de données d'une colonne :

print(iris.sepallength.dtype)

Sortie :

FLOAT64

Convertir le type de colonne

Utilisez astype pour convertir une colonne vers un autre type. Cette méthode renvoie un nouvel objet séquence avec le type converti.

print(iris.sepallength.astype('int').head(5))

Sortie :

   sepallength
0            4
1            4
2            4
3            5
4            5

Noms de colonnes

Chaque objet séquence doit avoir un nom de colonne. DataFrame génère automatiquement des noms pour les opérations courantes — par exemple, sepalwidth.max() produit une colonne nommée sepalwidth_max.

print(iris.groupby('name').sepalwidth.max().head(5))

Sortie :

   sepalwidth_max
0             4.4
1             3.4
2             3.8

Lorsque DataFrame ne peut pas déterminer automatiquement un nom — par exemple lorsque vous ajoutez un scalaire à une séquence — il conserve le nom de colonne d'origine. Lorsque deux colonnes sont impliquées dans un calcul, aucun nom ne peut être déduit et vous devez appeler explicitement rename.

Utilisez rename pour attribuer un nom à n'importe quelle séquence :

print(iris.sepalwidth.rename('sepal_width').head(5))

Sortie :

   sepal_width
0          3.0
1          3.2
2          3.1
3          3.6
4          3.9

Calculs de colonnes

Les opérations arithmétiques sur une séquence produisent une nouvelle séquence. Pour les colonnes numériques, tous les opérateurs arithmétiques standard sont pris en charge. Pour les colonnes de chaînes, seule la concaténation de chaînes est prise en charge.

# Add a scalar to a column
print((iris.sepallength + 5).head(5))

Sortie :

   sepallength
0          9.9
1          9.7
2          9.6
3         10.0
4         10.4

Lorsqu'une opération implique deux colonnes, PyODPS ne peut pas déterminer un nom de colonne de résultat. Appelez rename pour nommer le résultat :

print((iris.sepallength + iris.sepalwidth).rename('sum_sepal').head(5))

Sortie :

   sum_sepal
0        7.9
1        7.9
2        7.7
3        8.6
4        9.3

Pour plus d'opérations, consultez la section Opérations sur les colonnes.