在下面的代码片段中,我想在'Producer'类的所有实例之间共享DataFrame(g_df),但是只有在创建'Producer'的第一个实例时(在'producer中),才知道数据帧的结构。 process_event”)。目前,g_df仅可用于单个实例。
在仅在创建时才知道DataFrame架构的情况下,如何使全局DataFrame变量可供“生产者”或其他调用模块的所有实例使用?
import pandas as pd
class producer:
#g_df = None
#g_number_of_columns = None
def __init__(self):
pass
def process_event(self):
g_dynamic_column_list = ['A', 'B', 'C']
g_number_of_columns = 3
self.g_df = pd.DataFrame(columns=g_dynamic_column_list)
new_record = list()
for i in range(0, g_number_of_columns):
new_record.append(i)
pos = self.g_df.shape[0]
self.g_df.loc[pos] = new_record
def disp(self):
print(self.g_df)
prod1 = producer()
prod2 = producer()
prod1.process_event()
prod1.disp()
#Below call throws exception since g_df is not part of prod2 instance
#prod2.disp()