В повседневной работе с программированием мне часто приходится создавать множество объектов с помощью Python. Эта задача может быть скучной, если мы решим сделать это с помощью «копировать и вставить», например, изменив только суффикс. Может быть более эффективно создавать эти объекты итеративно.

Поискав это в Интернете, я нашел много способов сделать это. Поделюсь тем способом, который показался мне более практичным.

Проще говоря, мы можем создать объекты de obj1 , obj2 и obj3 следующим образом:

for n in [1,2,3]:
    globals()[f'obj{n}'] = n**2

Результаты приведенного выше кода:

Очень распространенная ситуация, когда вам нужно «разбить» ваш набор данных по категориям переменной.

Рассмотрим этот набор данных:

import pandas as pd
df=pd.DataFrame({
    'month':['2022-01','2022-02','2022-03','2022-04','2022-06']*10,
    'x1':[1,4,9,1.737,2.333]*10
})

У нас есть следующие записи для переменной «месяц»:

Таким образом, мы можем создать набор данных для каждого «месяца» следующим образом:

for nmonth in list(df.month.unique()):
    globals()[f'df_{nmonth}']=df[df.month==nmonth]

При этом у нас есть следующий результат для первого набора данных:

И у нас есть результаты, подобные приведенным выше, для других 4 наборов данных.

Вот и все! Спасибо за прочтение.

Para a versão em português desta publicação, acesse o link abaixo: