Ключевое слово 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, признанной экстремистской и запрещенной на территории РФ.