#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
Я относительно новичок в Python, но мое понимание модулей Python заключается в том, что любой объект, определенный в модуле, может быть экспортирован, например, у вас был:
# my_module.py
obj1 = 4
obj2 = 8
вы можете импортировать оба этих объекта просто с from my_module import obj1, obj2
помощью .
При работе с Pandas обычно используется код, который выглядит следующим образом (не фактический рабочий код):
# pandas_module.py
import pandas as pd
df = pd.DataFrame(...)
df = df.drop()
df = df[df.col > 0]
где один и тот же объект ( df
) переопределяется несколько раз. Если я хочу экспортировать df
, как мне с этим справиться? Я предполагаю, что если я просто from pandas_module import df
из другого места, весь код pandas будет запущен первым, и я получу окончательный df, как и ожидалось, но я не уверен, что это хорошая практика. Может быть, лучше сделать что-то вроде final_df = df.copy()
и экспортировать final_df
вместо этого. Похоже, это было бы более понятно для тех, кто не очень хорошо знаком с Python.
Итак, мой вопрос в том, как правильно справиться с этой ситуацией экспорта a df
, который определяется несколько раз?
Ответ №1:
Лично я обычно создаю функцию, которая возвращает объект фрейма данных. Например:
# pandas_module.py
import pandas as pd
def clean_data():
df = pd.DataFrame(...)
df = df.drop()
df = df[df.col > 0]
return df
Затем вы можете вызвать функцию из своего основного рабочего потока и получить ожидаемый фрейм данных:
from pandas_module.py import clean_data
df = clean_data()