Todos os produtos
Search
Central de documentação

MaxCompute:Sequence

Última atualização: Jun 26, 2026

SequenceExpr representa uma única coluna em um DataFrame do PyODPS.

Não é possível criar objetos SequenceExpr diretamente. Obtenha um a partir de um DataFrame (objeto de coleção).

Pré-requisitos

Antes de começar, verifique se você tem:

Recuperar uma coluna

Há duas sintaxes compatíveis:

  • collection.column_name — funciona quando o nome da coluna é um identificador Python válido.

  • df[column_name] — adequada para qualquer nome de coluna, inclusive nomes armazenados em variáveis.

# 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))

Ambas retornam o mesmo resultado:

   sepallength
0          4.9
1          4.7
2          4.6
3          5.0
4          5.4

Tipos de coluna

O DataFrame possui seu próprio sistema de tipos. Ao inicializar um DataFrame a partir de uma tabela do MaxCompute, os tipos de dados do MaxCompute são mapeados automaticamente para os tipos do DataFrame. Essa abstração permite executar o mesmo código do DataFrame em vários backends: MaxCompute SQL, Pandas, MySQL e PostgreSQL.

Mapeamentos de tipo

Tipo do MaxCompute

Tipo do DataFrame

Observações

BIGINT

INT64

DOUBLE

FLOAT64

STRING

STRING

DATETIME

DATETIME

BOOLEAN

BOOLEAN

DECIMAL

DECIMAL

ARRAY\<VALUE_TYPE\>

LIST\<VALUE_TYPE\>

É necessário especificar o tipo do elemento

MAP\<KEY_TYPE, VALUE_TYPE\>

DICT\<KEY_TYPE, VALUE_TYPE\>

É necessário especificar os tipos dos elementos

Para ativar o suporte a tipos estendidos, defina options.sql.use_odps2_extension=True:

Tipo do MaxCompute

Tipo do DataFrame

TINYINT

INT8

SMALLINT

INT16

INT

INT32

FLOAT

FLOAT32

Observações de uso

  • Tipos LIST e DICT: Sempre especifique os tipos dos elementos ao trabalhar com colunas LIST ou DICT. A omissão desses tipos gera um erro.

  • Tipos não compatíveis: O DataFrame não oferece suporte aos tipos TIMESTAMP e STRUCT (introduzidos no MaxCompute V2.0).

Verificar o tipo da coluna

Use sequence.dtype para inspecionar o tipo de dados de uma coluna:

print(iris.sepallength.dtype)

Saída:

FLOAT64

Converter o tipo da coluna

Use astype para converter uma coluna para um tipo diferente. Esse método retorna um novo objeto de sequência com o tipo convertido.

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

Saída:

   sepallength
0            4
1            4
2            4
3            5
4            5

Nomes de coluna

Todo objeto de sequência deve ter um nome de coluna. O DataFrame gera nomes automaticamente para operações comuns. Por exemplo, sepalwidth.max() produz uma coluna chamada sepalwidth_max.

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

Saída:

   sepalwidth_max
0             4.4
1             3.4
2             3.8

Se o DataFrame não conseguir determinar um nome automaticamente, como ao adicionar um escalar a uma sequência, ele manterá o nome original da coluna. Quando um cálculo envolve duas colunas, não é possível inferir um nome. Nesse caso, chame rename explicitamente.

Use rename para atribuir um nome a qualquer sequência:

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

Saída:

   sepal_width
0          3.0
1          3.2
2          3.1
3          3.6
4          3.9

Cálculos de coluna

Operações aritméticas em uma sequência produzem uma nova sequência. Colunas numéricas aceitam todos os operadores aritméticos padrão. Colunas de string aceitam apenas concatenação.

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

Saída:

   sepallength
0          9.9
1          9.7
2          9.6
3         10.0
4         10.4

Quando uma operação envolve duas colunas, o PyODPS não consegue determinar o nome da coluna resultante. Chame rename para nomear o resultado:

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

Saída:

   sum_sepal
0        7.9
1        7.9
2        7.7
3        8.6
4        9.3

Para mais operações, consulte Operações de coluna.