В повседневной работе с программированием мне часто приходится создавать множество объектов с помощью 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: