Этот вопрос может звучать совершенно глупо, но, поскольку у меня 0 опыта с такой проблемой, то я думаю, что, возможно, стоит попытаться его задать.
Ситуация, с которой я сталкиваюсь, заключается в том, что у меня есть несколько функций, и каждая из них вызывает один фрейм данных, а затем создает еще несколько фреймов данных для выполнения некоторых операций. Да, я мог бы использовать, возможно, ООП, однако я не думаю, что это сделало бы вещи более читабельными для моего конкретного случая.
Код, приведенный ниже, является примером, который я сделал, который может быть интересным для визуализации того, что я имею в виду,на самом деле это не имеет никакой иной цели, кроме иллюстрации проблемы. Естественно, ситуация, с которой я сталкиваюсь, является более сложной и включает в себя гораздо больше фреймов данных, поэтому присвоение переменной каждому разделенному фрейму данных и использование ее в качестве аргумента функции не вариант.
dfdata = pd.DataFrame({'Column A': [300,300,450,500,500,750,600,300, 150],'Column B': [1,1,0,1,0,1,0,0,1],'Column C': ['R','C','R','C','Q','C','R','Z','Z']})
def foo1(df):
df_1 = df.loc[df['Column B'] == 1]
df_0 =df.loc[df['Column B'] == 0]
df_x = df_1['Column B']*2
return df_x
def foo2(df):
df_1 = df.loc[df['Column B'] == 1]
df_0 =df.loc[df['Column B'] == 0]
df_y = df_0['Column B']*2
return df_y
def foo3(df):
df_1 = df.loc[df['Column B'] == 1]
df_0 =df.loc[df['Column B'] == 0]
df_z = df_1['Column B']*3
return df_z
Итак,Подводя итог, есть идеи, как сделать вещи менее повторяющимися и умнее без применения ООП?