Модуль Python экспортирует фрейм данных Pandas

#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()