Ключевое слово cell_output

Ключевое слово cell_output используется в ячейках типа Python для обращения к результату предыдущей ячейки типа SQL. С помощью этого ключевого слова удобно переходить с SQL на Python при работе с данными внутри одного ноутбука.

Данные в cell_output записываются в виде Pandas DataFrame.

Ключевое слово cell_output интерпретируется для каждой ячейки, а не для всего ноутбука. Это значит, что значения, записанные в cell_output, могут быть разными в разных ячейках типа Python внутри одного ноутбука в зависимости от предыдущих ячеек типа SQL. Поэтому рекомендуется записывать содержимое переменной cell_output в новую переменную, если предполагается работать с этими данными в нескольких ячейках Python (как это показано в примере ниже).

Пример

Выполним ячейку типа SQL с запросом SELECT на вывод чисел от 1 до 5. Для этого используем функции unnest и generate_series:

SELECT unnest(generate_series(1,5)) as numbers;
+---------+
| numbers |
+---------+
| 1       |
+---------+
| 2       |
+---------+
| 3       |
+---------+
| 4       |
+---------+
| 5       |
+---------+

В следующей ячейке типа Python того же ноутбука обратимся к выведенной в предыдущей ячейке таблице через ключевое слово cell_output:

# Выведем значение переменной cell_output
print(cell_output)
print()

# Выведем тип переменной cell_output
print(type(cell_output))
print()

# Запишем значение переменной cell_output в новую переменную
df = cell_output

# Отфильтруем значения в DataFrame по условию на колонку, используя новую переменную
print(df.loc[df['numbers'] > 2])
numbers
0        1
1        2
2        3
3        4
4        5

<class 'pandas.core.frame.DataFrame'>

   numbers
2        3
3        4
4        5

Мы видим, что содержимое переменной cell_output в этой ячейке представляет собой DataFrame с данными, взятыми из результата предыдущей ячейки. С этим DataFrame можно работать с помощью любых стандартных средств Python.


Реальные примеры использования ключевого слова cell_output можно увидеть в сценариях:

* Instagram принадлежит компании Meta, признанной экстремистской и запрещенной на территории РФ.